OAuth 1.0a
| Purpose | Method |
| 3-legged OAuth 플로우 및 Sign in with X의 1단계 Consumer 애플리케이션이 사용자 승인을 요청하기 위한 OAuth Request Token을 획득할 수 있도록 합니다. | POST oauth/request_token |
| 3-legged OAuth 플로우 및 Sign in with X의 2단계 Consumer 애플리케이션이 사용자 승인을 요청하기 위해 OAuth Request Token을 사용할 수 있도록 합니다. | GET oauth/authenticate |
| 3-legged OAuth 플로우 및 Sign in with X의 2단계 Consumer 애플리케이션이 사용자 승인을 요청하기 위해 OAuth Request Token을 사용할 수 있도록 합니다. | GET oauth/authorize |
| 3-legged OAuth 플로우 및 Sign in with X의 3단계 Consumer 애플리케이션이 OAuth Request Token을 OAuth Access Token으로 교환할 수 있도록 합니다. | POST oauth/access_token |
| 등록된 애플리케이션이 발급된 OAuth Access Token을 취소(무효화)할 수 있도록 합니다. | POST oauth/invalidate_token |
OAuth 2.0 Bearer 토큰
| 목적 | 메서드 |
| 등록된 App이 OAuth 2 앱 전용 Bearer 토큰을 생성할 수 있게 합니다. 이 토큰은 사용자 컨텍스트 없이 App을 대신하여 API 요청을 수행하는 데 사용할 수 있습니다. | POST oauth2/token |
| 등록된 App이 발급된 OAuth 2 앱 전용 Bearer 토큰을 취소(무효화)할 수 있게 합니다. | POST oauth2/invalidate_token |
POST oauth/request_token
oauth_nonce 에는 ASCII 값만 허용됩니다.
리소스 URL
https://api.x.com/oauth/request_token
리소스 정보
| 응답 형식 | JSON |
| 인증 필요 여부 | 아니요 |
| 요청 수 제한 적용 여부 | 예 |
| Name | Required | Description | Example |
|---|---|---|---|
| oauth_callback | required | OAuth 1.0a 규격을 준수하기 위해 이 매개변수는 필수입니다. 여기서 지정한 값은 사용자가 애플리케이션에 자신의 계정 접근을 승인했을 때 리디렉션되는 URL로 사용됩니다. oob 로 설정하면 out-of-band PIN 모드가 됩니다. 이는 데스크톱/모바일 애플리케이션에서 사용할 사용자 정의 콜백을 지정하는 방식이기도 합니다. 사전에 콜백이 등록되어 있더라도 이 단계에서는 항상 oauth_callback 을 전송해야 합니다.이 엔드포인트에서 사용하는 모든 callback URL은 developer.x.com의 App 설정에서 반드시 구성되어야 합니다* | 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 설정을 활성화해야 합니다.
Resource URL
https://api.x.com/oauth/authenticate
Resource Information
| Response formats | JSON |
| Requires authentication? | Yes |
| Rate limited? | Yes |
| Name | Required | Description | Default Value | Example |
| force_login | optional | 올바른 사용자 계정이 승인되도록 사용자가 자격 증명을 다시 입력하도록 강제합니다. | true | |
| screen_name | optional | OAuth 로그인 화면의 사용자 이름 입력 상자를 지정된 값으로 미리 채웁니다. |
oauth/authenticate 단계로 보냅니다:
https://api.x.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik
POST oauth/access_token
https://api.x.com/oauth/access_token
Resource Information
| Response formats | JSON |
| Requires authentication? | Yes |
| Rate limited? | Yes |
| Name | Required | Description | Default Value | Example |
| 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
Example response
oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi
POST oauth/invalidate_token
https://api.x.com/1.1/oauth/invalidate_token
리소스 정보
| 응답 형식 | JSON |
| 인증 필요 여부 | 예 - 무효화하려는 access_token이 있는 사용자 컨텍스트 |
| 요청 한도 적용 여부 | 예 |
POST oauth2/token
https://api.x.com/oauth2/token
리소스 정보
| Response formats | JSON |
| Requires authentication? | 예 - API key를 사용자 이름으로, API key secret을 비밀번호로 사용하는 Basic 인증이 필요합니다 |
| Rate limited? | 예 |
| Name | Required | Description | Default Value | Example |
| grant_type | required | 애플리케이션이 요청하는 grant의 유형(type)을 지정합니다. 현재는 client_credentials만 허용됩니다. 자세한 내용은 애플리케이션 전용 인증을 참조하세요. | client_credentials |
POST oauth2/invalidate_token
https://api.x.com/oauth2/invalidate_token
Resource Information
| Response formats | JSON |
| Requires authentication? | Yes - 애플리케이션의 consumer API 키와 애플리케이션 소유자의 access token & access token secret를 사용하는 OAuth 1.0a |
| Rate limited? | Yes |
| Name | Required | Description |
|---|---|---|
| access_token | required | 무효화하려는 Bearer 토큰 값 |