메인 콘텐츠로 건너뛰기
Log in with X(또는 Sign in with X)를 사용하면 사이트나 애플리케이션에 버튼을 두어 X 사용자가 한 번의 클릭만으로 등록된 사용자 계정이 제공하는 혜택을 누릴 수 있습니다. 이는 웹사이트, iOS, 모바일 및 데스크톱 애플리케이션에서 모두 사용할 수 있습니다.

기능

  • 사용 편의성 - 사이트에 처음 방문한 사용자는 처음 로그인할 때 두 번의 클릭만으로 완료할 수 있습니다.
  • X 통합 - Log in with X 플로우를 통해 사용자 권한을 위임받아 사용자를 대신해 X API를 사용할 수 있습니다.
  • OAuth 기반 - 다양한 클라이언트 라이브러리와 예제 코드가 Log in with X API와 호환됩니다.

사용 가능 환경

  • 브라우저 - 사용자가 브라우저에 접속할 수 있다면 Log in with X를 연동할 수 있습니다. 브라우저 로그인 플로우에 대해 알아보세요.
  • 모바일 기기 - 웹에 연결된 모든 모바일 기기에서 Log in with X를 사용할 수 있습니다. 모바일 로그인 플로우에 대해 알아보세요.

X로 로그인 구현하기

브라우저 및 모바일 웹에서의 Log in with X 구현은 OAuth를 기반으로 합니다. 이 페이지에서는 로그인 플로우에서 액세스 토큰을 얻는 데 필요한 요청들을 보여줍니다. “Log in with X” 플로우를 사용하려면, X app 설정으로 이동하여 “Allow this app to be used to Sign in with X?” 옵션이 활성화되어 있는지 확인하세요. 이 페이지는 독자가 OAuth 1.0a 프로토콜을 사용해 요청에 서명하는 방법을 알고 있다고 가정합니다. 요청에 서명하는 방법을 알고 싶다면 요청 승인하기 페이지를 읽어보세요. 이 페이지의 요청 서명을 확인하고 싶다면, 사용된 consumer secret은 다음과 같습니다: L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg. 이 값은 테스트용이며 실제 요청에는 동작하지 않습니다. 요청 토큰을 얻고, 사용자를 리디렉트한 뒤, 요청 토큰을 액세스 토큰으로 전환하는 과정을 통해 X로 로그인을 구현하는 세 단계는 아래와 같습니다.

1단계: 요청 토큰 받기

로그인 흐름을 시작하려면 X app은(는) 서명된 메시지를 POST oauth/request_token 엔드포인트로 보내 요청 토큰을 받아야 합니다. 이 요청에서 유일한 매개변수는 oauth_callback 하나이며, 이는 사용자가 2단계를 완료했을 때 리디렉션되기를 원하는 URL을 URL 인코딩한 값이어야 합니다. 나머지 매개변수들은 OAuth 서명 과정에서 추가됩니다.
참고: POST oauth/request_token 엔드포인트와 함께 사용하는 모든 callback URL은(는) 개발자 콘솔X app 설정에 반드시 등록되어 있어야 합니다.
요청 예시 (Authorization 헤더는 줄바꿈되어 표시됨):
POST /oauth/request_token HTTP/1.1
User-Agent: themattharris' HTTP Client
Host: api.x.com
Accept: */*
Authorization:
        OAuth oauth_callback="http%3A%2F%2Flocalhost%2Fsign-in-with-twitter%2F",
              oauth_consumer_key="cChZNFj6T5R0TigYB9yd1w",
              oauth_nonce="ea9ec8429b68d6b77cd5600adbbb0456",
              oauth_signature="F1Li3tvehgcraF8DMJ7OyxO4w9Y%3D",
              oauth_signature_method="HMAC-SHA1",
              oauth_timestamp="1318467427",
              oauth_version="1.0"
앱은 응답의 HTTP 상태 코드를 확인해야 합니다. HTTP 상태 코드가 200이 아닌 경우는 모두 실패를 의미합니다. 응답 본문에는 oauth_token, oauth_token_secret, oauth_callback_confirmed 매개변수가 포함됩니다. 앱은 oauth_callback_confirmed가 true인지 확인하고, 나머지 두 값을 다음 단계에서 사용할 수 있도록 저장해야 합니다.예시 응답(응답 본문은 줄바꿈 처리되었습니다):
HTTP/1.1 200 OK
Date: Thu, 13 Oct 2011 00:57:06 GMT
Status: 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 146
Pragma: no-cache
Expires: Tue, 31 Mar 1981 05:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Vary: Accept-Encoding
Server: tfe

oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0&
oauth_token_secret=veNRnAWe6inFuo8o2u8SLLZLjolYDmDP7SzL0YfYI&
oauth_callback_confirmed=true

X로 로그인 관련 리소스

Client 라이브러리

X libraries에 나열된 Client 라이브러리는 Log in with X를 구현하는 데 도움이 됩니다. 앞 단계에서 설명한 대로 /oauth/authenticate 엔드포인트를 사용하세요.

Brand Toolkit

X는 일관된 브랜딩을 위해 공식 X Brand Toolkit을 애플리케이션에서 사용하기를 권장합니다. 이 에셋을 저장해 두었다가 ‘Login with X’ 버튼을 만들 때 사용하세요.