ERD

고민 참고
사용자 인증을 어떻게 처리해야할까? https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Authentication#authentication_schemes
https://curity.io/resources/learn
상태 코드의 종류에는 어떤 것들이 있을까? https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status
오류 응답은 어떤 형식으로 반환하는게 좋을까? Content-Type: application/problem+json
https://www.rfc-editor.org/rfc/rfc9457.html
공통 응답 형식은 어떻게 설정하면 좋을까? https://en.wikipedia.org/wiki/HATEOAS
보다 안전한 API를 만들려면? https://owasp.org/API-Security/editions/2023/en/0x00-header/
변화하는 API 명세를 클라이언트에게 전달하려면? https://datatracker.ietf.org/doc/html/rfc5988#section-6.2.2
https://stateless.group/hal_specification.html (de facto)
이메일 표준 RFC 5322 https://jackfoxy.github.io/FsRegEx/emailregex.html#On-the-Futility-of-Email-Regex-Validation

체크리스트

Broken Object Level Authorization (BOLA) 모든 객체 접근 시 권한 검증
Broken Authentication 인증 수단 관리
검증 로직 결함 확인
Broken Object Property Level Authorization 응답 데이터 필터링
입력 데이터 검증
허용 목록 기반 할당
…(시간나면 추가)

https://owasp.org/API-Security/editions/2023/en/0x11-t10/

https://docs.spring.io/spring-security/reference/servlet/oauth2/client/core.html#oauth2Client-client-registration ClientRegistration