OAuth 1.0a
| 목적 | 메서드 |
| 3-legged OAuth 플로우의 1단계 및 X로 로그인 Consumer 애플리케이션이 사용자 승인을 요청하기 위한 OAuth Request Token을 획득하도록 합니다. | POST oauth/request_token |
| 3-legged OAuth 플로우의 2단계 및 X로 로그인 Consumer 애플리케이션이 사용자 승인을 요청하기 위해 OAuth Request Token을 사용하도록 합니다. | GET oauth/authenticate |
| 3-legged OAuth 플로우의 2단계 및 X로 로그인 Consumer 애플리케이션이 사용자 승인을 요청하기 위해 OAuth Request Token을 사용하도록 합니다. | GET oauth/authorize |
| 3-legged OAuth 플로우의 3단계 및 X로 로그인 Consumer 애플리케이션이 OAuth Request Token을 OAuth 액세스 토큰으로 교환하도록 합니다. | POST oauth/access_token |
| 등록된 애플리케이션이 발급된 OAuth 액세스 토큰을 무효화하도록 합니다. | POST oauth/invalidate_token |
OAuth 2.0 베어러 토큰
| 목적 | 방법 |
| 등록된 앱이 사용자 컨텍스트 없이 앱을 대신해 API 요청을 수행할 수 있도록, OAuth 2 앱 전용 베어러 토큰을 발급받게 합니다. | POST oauth2/token |
| 등록된 앱이 발급된 OAuth 2 앱 전용 베어러 토큰을 취소(무효화)할 수 있게 합니다. | POST oauth2/invalidate_token |
POST oauth/request_token
Consumer 애플리케이션이 사용자 승인을 요청하기 위한 OAuth 요청 토큰을 획득할 수 있도록 합니다. 이 메서드는 OAuth 1.0 인증 플로우의 섹션 6.1에 해당합니다. 모든 OAuth 인증 단계에서 HTTPS 사용이 필수입니다. 사용 안내:oauth_nonce에는 ASCII 값만 허용됩니다.
리소스 URL
https://api.x.com/oauth/request_token
리소스 정보
| 응답 형식 | JSON |
| 인증 필요? | 아니요 |
| 레이트 제한? | 예 |
| 이름 | 필수 여부 | 설명 | 예시 |
|---|---|---|---|
| oauth_callback | required | OAuth 1.0a 규격을 준수하기 위해 이 매개변수는 필수입니다. 여기 지정한 값은 사용자가 애플리케이션의 계정 접근을 승인할 경우 리디렉션될 URL로 사용됩니다. 대역 외 PIN 모드의 경우 oob로 설정하세요. 데스크톱/모바일 애플리케이션에서 사용할 사용자 지정 콜백을 지정하는 방법이기도 합니다. 사전 등록된 콜백이 있더라도 이 단계에서는 항상 oauth_callback을 전송하세요.이 엔드포인트와 함께 사용하는 모든 콜백 URL은 developer.x.com의 앱 설정에서 구성되어야 합니다. | http://themattharris.local/auth.php twitterclient://callback |
| x_auth_access_type | optional | 애플리케이션이 사용자 계정에 요청하는 액세스 수준을 재정의합니다. 지원되는 값은 read 또는 write입니다. 이 매개변수는 개발자가 읽기/쓰기 애플리케이션을 등록했더라도 상황에 따라 읽기 전용 액세스를 요청할 수 있도록 하기 위한 것입니다. |
POST https://api.x.com/oauth/request_token
Request POST Body: N/A
Authorization Header: OAuth oauth_nonce="K7ny27JTpKVsTgdyLdDfmQQWVLERj2zAK5BslRsqyw", oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1300228849", oauth_consumer_key="OqEqJeafRSF11jBMStrZz", oauth_signature="Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D", oauth_version="1.0"
Response: oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_token_secret=Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM&oauth_callback_confirmed=true
Consumer 애플리케이션이 OAuth Request Token을 사용해 사용자 승인을 요청할 수 있도록 합니다. 이 메서드는 OAuth 1.0 인증 플로우의 섹션 6.2를 충족합니다. 데스크톱 애플리케이션은 반드시 이 메서드를 사용해야 하며(GET oauth / authenticate는 사용할 수 없음).
사용 안내: oauth_callback은 이 메서드로는 절대 전송되지 않습니다. 대신 POST oauth / request_token에 제공하십시오.
리소스 URL
https://api.x.com/oauth/authorize
리소스 정보
| 응답 형식 | JSON |
| 인증 필요? | 예 |
| 속도 제한 적용? | 예 |
| 이름 | 필수 여부 | 설명 | 기본값 | 예시 |
| force_login | 선택 사항 | 올바른 사용자 계정을 승인하기 위해 사용자가 자격 증명을 다시 입력하도록 강제합니다. | ||
| screen_name | 선택 사항 | OAuth 로그인 화면의 사용자 이름 입력란을 지정한 값으로 미리 채웁니다. |
oauth/authorize 단계로 사용자를 이동시키고, oauth_token 매개변수를 포함하세요:
https://api.x.com/oauth/authorize?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik
GET oauth/authenticate
request_token을 사용해 사용자 승인을 요청할 수 있도록 합니다.
이 메서드는 콜백 인증 플로를 사용하는 애플리케이션의 경우 OAuth 1.0 인증 플로의 섹션 6.2를 대체합니다. force_login 매개변수가 true로 설정되지 않은 한 현재 로그인한 사용자를 액세스 승인 계정으로 사용합니다.
이 메서드는 GET oauth/authorize와 달리, 사용자가 이미 애플리케이션에 권한을 부여한 경우 재승인 없이 리디렉션이 이루어집니다. 이 동작을 위해서는 application record에서 Use Sign in with X 설정을 활성화해야 합니다.
리소스 URL
https://api.x.com/oauth/authenticate
리소스 정보
| 응답 형식 | JSON |
| 인증 필요? | 예 |
| 레이트 리밋 적용? | 예 |
| 이름 | 필수 여부 | 설명 | 기본값 | 예시 |
| force_login | 선택 | 올바른 사용자 계정이 승인되도록 사용자가 자격 증명을 다시 입력하도록 강제합니다. | true | |
| screen_name | 선택 | OAuth 로그인 화면의 사용자 이름 입력란을 지정한 값으로 미리 채웁니다. |
oauth/authenticate 단계로 보내며, oauth_token 매개변수를 포함하세요:
https://api.x.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik
POST oauth/access_token
Consumer 애플리케이션이 OAuth Request Token을 OAuth Access Token으로 교환할 수 있도록 합니다. 이 메서드는 OAuth 1.0 인증 플로우의 섹션 6.3을 충족합니다. 리소스 URLhttps://api.x.com/oauth/access_token
리소스 정보
| 응답 형식 | JSON |
| 인증 필요 | 예 |
| 레이트 제한 | 예 |
| 이름 | 필수 | 설명 | 기본값 | 예시 |
| oauth_token | required | 여기의 oauth_token은 request_token 단계에서 반환된 oauth_token과 동일해야 합니다. | ||
| oauth_verifier | required | OAuth 웹 플로우를 사용하는 경우, 이 매개변수를 콜백 URL에서 반환된 oauth_verifier의 값으로 설정하세요. Out-of-band OAuth를 사용하는 경우, 이 값을 PIN 코드로 설정하세요. OAuth 1.0a 준수를 위해 이 매개변수는 필수입니다. OAuth 1.0a는 엄격히 적용되며 oauth_verifier를 사용하지 않는 애플리케이션은 OAuth 플로우를 완료하지 못합니다. |
POST https://api.x.com/oauth/access_token?oauth_token=qLBVyoAAAAAAx72QAAATZxQWU6P&oauth_verifier=ghLM8lYmAxDbaqL912RZSRjCCEXKDIzx
PIN 기반의 경우 POST https://api.x.com/oauth/access_token?oauth_token=9Npq8AAAAAAAx72QBRABZ4DAfY9&oauth_verifier=4868795
예제 응답
oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi
POST oauth/invalidate_token
등록된 애플리케이션이 클라이언트 자격 증명을 제시하여 발급된 OAuth access_token을 취소할 수 있습니다. access_token이 무효화되면 새로 생성할 경우 다른 액세스 토큰이 발급되며, 무효화된 토큰은 더 이상 사용할 수 없습니다. 리소스 URLhttps://api.x.com/1.1/oauth/invalidate_token
리소스 정보
| 응답 형식 | JSON |
| 인증 필요 여부 | 예 - 무효화하려는 액세스 토큰을 가진 사용자 컨텍스트 |
| 속도 제한 여부 | 예 |
POST oauth2/token
https://api.x.com/oauth2/token
리소스 정보
| 응답 형식 | JSON |
| 인증 필요? | 예 - 사용자 이름에는 API 키, 비밀번호에는 API 키 시크릿을 사용하는 기본 인증 |
| 레이트 제한? | 예 |
| 이름 | 필수 | 설명 | 기본값 | 예시 |
| grant_type | required | 애플리케이션이 요청하는 grant 유형을 지정합니다. 현재는 client_credentials만 허용됩니다. 자세한 내용은 애플리케이션 전용 인증을 참조하세요. | client_credentials |
POST oauth2/invalidate_token
등록된 애플리케이션이 클라이언트 자격 증명을 제시하여 발급된 OAuth 2.0 베어러 토큰을 취소(무효화)할 수 있도록 합니다. 베어러 토큰이 무효화되면 새로 생성되는 토큰은 이전과 다른 값이 되며, 무효화된 토큰은 더 이상 사용할 수 없습니다. 성공한 응답에는 무효화된 베어러 토큰을 설명하는 JSON 구조가 포함됩니다. 리소스 URLhttps://api.x.com/oauth2/invalidate_token
리소스 정보
| 응답 형식 | JSON |
| 인증 필요 여부 | 예 - 애플리케이션의 consumer API 키와 애플리케이션 소유자의 액세스 토큰 및 액세스 토큰 시크릿을 사용하는 OAuth 1.0a |
| 레이트 제한 여부 | 예 |
| 이름 | 필수 여부 | 설명 |
|---|---|---|
| access_token | 필수 | 무효화하려는 베어러 토큰의 값 |