엔드포인트에 연결하는 방법
기밀 클라이언트 사용하기
userid와 password는 base64로 인코딩된 문자열 안에서 콜론(”:”) 문자 하나로 구분됩니다.
예시는 다음과 같습니다:
-header 'Authorization: Basic V1ROclFTMTRiVWhwTWw4M2FVNWFkVGQyTldNNk1UcGphUTotUm9LeDN4NThKQThTbTlKSXQyZm1BanEzcTVHWC1icVozdmpKeFNlR3NkbUd0WEViUA=='
사용자 에이전트가 Client ID “Aladdin”과 password “open sesame”를 전송하려는 경우, 다음과 같은 헤더 필드를 사용합니다:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
기본 인증 헤더를 생성하려면, App의 “Keys and Tokens” 페이지( 개발자 콘솔 내에 위치)에서 확인할 수 있는 Client ID와 Client Secret에 base64 인코딩을 적용해야 합니다.
OAuth 2.0을 사용하여 연결하는 단계
tweet.read%20users.read%20follows.read%20follows.write
이 URL에는 다른 필수 매개변수 외에 code_challenge와 state 매개변수도 포함됩니다. 운영 환경에서는 code_challenge에 임의의 문자열을 사용해야 합니다.
2단계: GET oauth2/authorize
사용자가 인증을 완료하고 애플리케이션에 authorization code를 보내도록 해야 합니다. App에 대해 OAuth 2.0을 활성화한 경우, App의 “Keys and Tokens” 페이지에서 Client ID를 확인할 수 있습니다.
사용자를 리디렉션할 예시 URL은 다음과 같습니다:
redirect_uri 로 auth_code 파라미터가 포함된 요청이 전달됩니다. 이때 애플리케이션은 state 파라미터를 검증해야 합니다.
Client의 redirect_uri 로 전달되는 요청 예시는 다음과 같습니다:
offline.access 스코프를 요청한 경우에만 해당). 다음 엔드포인트로 POST 요청을 전송할 수 있습니다:
Content-Type으로 application/x-www-form-urlencoded를 전달해야 합니다. 추가로, 요청에는 code, grant_type, client_id, redirect_uri, 그리고 code_verifier가 포함되어야 합니다.
다음은 public client용 토큰 요청 예시입니다:
Content-Type으로 application/x-www-form-urlencoded를 추가해야 합니다. 추가로, refresh_token을 전달하고, grant_type을 refresh_token으로 설정하며, client_id를 지정해야 합니다.
이 요청은 공개 클라이언트(public client)에 대해 동작합니다:
Content-Type을 application/x-www-form-urlencoded로 지정하고, 토큰과 client_id를 함께 전달해야 합니다.
경우에 따라 사용자가 App에 부여한 권한을 취소하고 싶을 수 있습니다. 이때 Connected Apps 페이지를 방문하여 권한을 취소할 수 있습니다.