- Bearer Token (앱 전용)
- OAuth 2.0 with PKCE
- OAuth 1.0a (사용자 컨텍스트)
- Bearer Token: 앱 인증을 지원하는 엔드포인트(예: Post 검색, 스트리밍 엔드포인트)의 읽기 전용 액세스에 사용합니다.
- OAuth 2.0 PKCE: 스코프 기반 사용자 인가 액세스를 위한 안전한 인증(예: 인증된 사용자의 Post non_public metrics 가져오기)
- OAuth 1.0a: 사용자별 작업(예: 사용자를 대신한 게시, 리스트 관리)을 위한 레거시 인증
Client 생성하기
모든 인증 흐름은Client 인스턴스를 생성합니다:
1. Bearer Token (앱 전용)
사용자 컨텍스트 없이 읽기 전용 작업을 수행합니다. 단계:- Developer Console에서 앱용 Bearer Token을 생성합니다.
Client에 전달합니다. 예시:
2. OAuth 2.0 with PKCE (사용자 컨텍스트)
이 예시는 Proof Key for Code Exchange (PKCE)와 함께 OAuth 2.0을 사용하는 방법을 보여줍니다. 사용자별 액세스(예: 사용자를 대신한 게시, 사용자용 미디어 업로드 등)에 사용합니다. 단계:- Developer Console에서 리디렉션 URI(예:
http://localhost:8080/callback)로 앱을 등록합니다. - Client ID를 가져옵니다(PKCE에는 시크릿이 필요하지 않음).
- 흐름을 시작하고, 사용자를 인증 URL로 안내하며 콜백을 처리합니다. 예시 (콜백을 위해 웹 서버 사용):
Example
3. OAuth 1.0a (사용자 컨텍스트)
OAuth 1.0a 인증이 필요한 레거시 애플리케이션 또는 특정 사용 사례용: 단계:- Developer Console에서 API Key와 API Secret을 가져옵니다.
- 이미 액세스 토큰이 있는 경우 직접 사용합니다. 그렇지 않으면 OAuth 1.0a 흐름을 완료하여 얻습니다.
- OAuth1 인스턴스를 생성하고 Client에 전달합니다. 예시 (기존 액세스 토큰 사용):
Example
Example
- 프로덕션에서는 시크릿을 하드코딩하지 마세요. 환경 변수나 시크릿 관리자를 사용하세요(예:
os.getenv("X_BEARER_TOKEN")). - PKCE의 경우 프로덕션의 리디렉션 URI에 HTTPS를 사용하세요.
- SDK는 토큰을 검증하고 실패 시
xdk.AuthenticationError를 발생시킵니다. Python XDK를 사용하는 자세한 코드 예제는 코드 샘플 GitHub 저장소를 확인하세요.