client identification을 확인하고 싶다면, authorization server와 client 간의 인증절차를 거쳐야 한다.
Confiential clients는 인증에 필요한 정보를 authorization server와 나눠 가질 수 있다. ( ex, password, public/private key pair, etc)
public clients 에 대해서는 identify 를 목적으로 인증을 할 수 없다. public client 임을 증명할 수 있는 어떤 데이터가 있다고 하더라도, 충분히 갈취당할 수 있기 때문이다.
confidential clients 인증 방법
Client password
: Http basic 인증 방식(RFC2617) 을 사용한다. Authorization 헤더에 “Basic ${password}” 형태로 담아서 전송해도 되고, 또는 request-body에 client-id와 client-secret을 담아서 보내도 된다. 하지만 직접적으로 request-body에 클라이언트 정보를 담는 것을 권장하지 않고, 직접적으로 Http basic 인증 방식을 사용할 수 없는 경우에만 이용하도록 제한한다. request-body에 포함될 정보를 request-uri에 절대로 담아서는 안 된다. 엑세스 토큰 재발급 요청을 예로 들면 다음과 같다.
Other Authentication Methods
: 다른 적당한 HTTP 인증 방식을 사용할 수 있다.