티스토리 뷰
Client Registration
클라이언트 등록 방식은 사양 밖
클라이언트 등록 시 client와 authorization server 간의 직접적인 상호작용은 필요하지 않는다.
클라이언트는 client type과 redirection URI를 지정해야 하고, authorization server는 애플리케이션 이름, 웹 사이트, 설명, 로고 이미지, 약관 등 추가적인 정보를 요구할 수 있다.
Client Types
client credentials의 기밀성을 유지할 수 있는지 여부에 따라 두 가지 클라이언트 유형이 있다.
- confidential
- e.g. native application or web browser-based application
- public
- e.g. web application on server
Client Identifier
authorization server가 client 식별을 위해 client에게 발급하는 unique string이다.
secret이 아니며 resource owner에게 노출된다.
Client Authentication
authorization server는 confidential client를 인증해야 한다. 일반적으로 password나 public/private key pair 방식을 이용한다.
public client를 위해서도 client authentication을 할 수 있다. 그러나 autorization server는 client를 식별하려는 목적으로 public client authentication을 의존해서는 안된다.
client는 각 요청에 두 개 이상의 authentication method를 사용해서는 안된다.
Client Password
HTTP Basic authentication scheme (RFC2617)
Client ID는 application/x-www-form-urlencoded
algorithm (Appendix B)을 통해 인코딩되고, 인코딩된 값은 username으로 사용된다. 마찬가지로 client password도 해당 알고리즘으로 인코딩되고, 인코딩된 값은 password로 사용된다. (?)
예시는 Authorization: Basic {client ID}:{client secret}
대안으로는 request-body에 client_id와 client_secret을 포함할 수 있다. 이 방식이 권장되지는 않으며 HTTP Basic authentication scheme을 직접 사용할 수 없는 경우에만 사용해야 한다.
authorization server는 TLS 사용을 요구해야 하며, brute force attack에 대비해야 한다.
'공부 > 인증, 인가' 카테고리의 다른 글
RFC 6749 - 4장 Obtaining Authorization (0) | 2024.07.29 |
---|---|
RFC 6749 - 3장 Protocol Endpoints (0) | 2024.07.29 |
RFC 6749 - 1장 Introduction (0) | 2024.07.29 |
RFC 6749 정리 및 요약 (0) | 2024.07.29 |
- Total
- Today
- Yesterday