メインコンテンツへスキップ
「Log in with X」(「Sign in with X」とも呼ばれます)を使うと、サイトやアプリにボタンを設置して、Xのユーザーがワンクリック程度の操作で登録ユーザーアカウントのメリットを利用できるようにできます。これはウェブサイト、iOS、モバイル、デスクトップの各アプリケーションで利用できます。

機能

  • 使いやすさ - 新規訪問者は初回ログイン時、ボタンを2回クリックするだけで完了します。
  • Xとの統合 - Log in with Xのフローにより、ユーザーに代わってX APIを使用するための認可を付与できます。
  • OAuthベース - 多数のクライアントライブラリとサンプルコードがLog in with X APIに対応しています。

対応環境

  • ブラウザ — ユーザーがブラウザにアクセスできる場合は、Log in with X を組み込めます。ブラウザでのサインインフローをご覧ください。
  • モバイルデバイス — インターネット接続済みのあらゆるモバイルデバイスで Log in with X を利用できます。モバイルでのサインインフローをご覧ください。

Xでログインを実装する

ブラウザーおよびモバイルWebにおける「Xでログイン」の実装はOAuthに基づいています。このページでは、サインインフローでaccess tokenを取得するために必要なリクエストを示します。 “Log in with X” フローを使用するには、X app settings に移動し、“Allow this app to be used to Sign in with X?” オプションが有効になっていることを確認してください。 このページでは、読者がOAuth 1.0aプロトコルを使用してリクエストに署名する方法を理解していることを前提としています。リクエストの署名方法を知りたい場合は、Authorizing a request のページを参照してください。 このページのリクエストの署名を検証したい場合、使用されているconsumer secretは次のとおりです:L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg。これはテスト用の値であり、実際のリクエストでは使用できません。 Xでログインを実装するための手順は、リクエストトークンの取得、ユーザーのリダイレクト、そしてリクエストトークンをAccess Tokenに変換する、という3段階です。
  • 手順 1
  • 手順 2
  • 手順 3

ステップ 1: リクエストトークンの取得

サインインフローを開始するには、X app が署名済みメッセージを POST oauth/request_token に送信し、リクエストトークンを取得する必要があります。このリクエストで一意のパラメータは oauth_callback のみで、ステップ 2 完了時にユーザーをリダイレクトする先の URL を URL エンコードしたものにする必要があります。その他のパラメータは OAuth の署名プロセスによって追加されます。
注: POST oauth/request_token endpoint で使用するあらゆる callback URL は、developer portalX app settings に登録しておく必要があります。
リクエスト例(Authorization ヘッダーは折り返し済み):
POST /oauth/request_token HTTP/1.1
User-Agent: themattharris' HTTP クライアント
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"
App はレスポンスの HTTP ステータスを確認する必要があります。200 以外の値は失敗を示します。レスポンスボディには、oauth_token、oauth_token_secret、oauth_callback_confirmed の各パラメータが含まれます。App は oauth_callback_confirmed が true であることを検証し、次の手順に備えて残りの 2 つの値を保存してください。レスポンス例(レスポンスボディは折り返し表示):
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

  • Additional resources
  • Browser sign in flow
  • Mobile sign in flow

X でログインに関する追加リソース

クライアントライブラリ

X libraries に掲載されているクライアントライブラリは、Log in with X の実装に役立ちます。前の手順で説明したとおり、/oauth/authenticate endpoint を使用します。

Brand Toolkit

ブランディングの一貫性を保つため、X は公式の X Brand Toolkit をアプリケーションで使用することを推奨しています。これらのアセットを保存し、「Log in with X」ボタンを作成する際に使用してください。
I