- 어떤 애플리케이션이 요청을 보내고 있는지
- 어떤 사용자를 대신해 요청이 게시되고 있는지
- 해당 사용자가 애플리케이션이 자신을 대신해 게시하도록 권한을 부여했는지
- 전송 중에 제3자에 의해 요청이 변조되었는지
| oauth_consumer_key | xvz1evFS4wEEPTGEFPHBog |
| oauth_nonce | kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg |
oauth_signature 매개변수에는 다른 모든 요청 매개변수와 두 개의 비밀 값을 서명 알고리즘에 통과시켜 생성된 값이 포함됩니다. 이 서명의 목적은 X가 전송 중에 요청이 수정되지 않았는지 확인하고, 요청을 보내는 애플리케이션을 검증하며, 해당 애플리케이션이 사용자의 계정과 상호작용할 수 있는 권한을 가지고 있는지 검증할 수 있도록 하기 위함입니다.
이 요청에 대한 oauth_signature 계산 과정은 서명 생성에 설명되어 있습니다.
| oauth_signature | tnnArxj06cWHq44gCs1OSKk/jLY= |
oauth_signature_method는 HMAC-SHA1입니다. 이 값은 X API로 전송되는 모든 인가된 요청에 사용해야 합니다.
| oauth_signature_method | HMAC-SHA1 |
oauth_timestamp 매개변수는 요청이 생성된 시점을 나타냅니다. 이 값은 요청이 생성되는 시점 기준으로 Unix epoch 이후 경과한 초 수여야 하며, 대부분의 프로그래밍 언어에서 쉽게 생성할 수 있습니다. X는 너무 오래 전에 생성된 요청을 거부하므로, 요청을 생성하는 컴퓨터의 시계를 NTP와 동기화해 두는 것이 중요합니다.
| oauth_timestamp | 1318622958 |
oauth_token 매개변수는 일반적으로 사용자가 자신의 계정에 대한 액세스 권한을 애플리케이션과 공유하도록 허용했다는 것을 나타냅니다. 이 값이 전달되지 않거나 다른 형태의 토큰이 사용되는 몇 가지 인증 요청이 있으며, 이에 대해서는 액세스 토큰 가져오기에서 자세히 다룹니다. 대부분의 범용 요청에서는 액세스 토큰(access token) 을 사용하게 됩니다.
개발자 콘솔의 X App 설정 페이지에서 계정에 대한 유효한 액세스 토큰을 생성할 수 있습니다.
| oauth_token | 370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb |
oauth_version 매개변수는 X API로 전송되는 모든 요청에서 항상 1.0이어야 합니다.
| oauth_version | 1.0 |
헤더 문자열 구성하기
- 문자열 “OAuth ” (끝의 공백 포함)을 DST에 추가합니다.
- 위에 나열된 7개의 매개변수에 대한 각 키/값 쌍에 대해: