メインコンテンツへスキップ
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に基づいています。このページでは、サインインフローでアクセストークンを取得するために必要なリクエストを示します。 「Xでログイン」フローを使用するには、Xのアプリ設定に移動し、“Allow this app to be used to Sign in with X?” オプションが有効になっていることを確認してください。 このページでは、読者がOAuth 1.0aプロトコルを使用してリクエストに署名する方法を理解していることを前提としています。署名方法については、Authorizing a requestのページを参照してください。 このページでのリクエストの署名を検証したい場合、使用しているコンシューマーシークレットは次のとおりです: L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg。この値はテスト目的のもので、実際のリクエストでは機能しません。 「Xでログイン」を実装するための3つの手順(リクエストトークンの取得、ユーザーのリダイレクト、リクエストトークンをアクセストークンに変換)が以下に示されています。
  • ステップ 1
  • ステップ 2
  • ステップ 3

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

サインインフローを開始するには、あなたのXアプリが署名済みメッセージをPOST oauth/request_tokenに送信してリクエストトークンを取得する必要があります。このリクエストで唯一固有のパラメータはoauth_callbackで、ユーザーがステップ2を完了した際にリダイレクトさせたいURLをURLエンコードしたものである必要があります。残りのパラメータはOAuth署名プロセスによって追加されます。
注: POST oauth/request_tokenエンドポイントで使用するコールバックURLは、開発者ポータルXアプリ設定内で登録する必要があります。
リクエスト例(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ステータスを確認する必要があります。200以外の値は失敗を示します。レスポンス本文には、oauth_token、oauth_token_secret、oauth_callback_confirmed パラメータが含まれます。アプリは 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

  • 追加リソース
  • ブラウザでのサインインフロー
  • モバイルでのサインインフロー

Xでログインのリソース

クライアントライブラリ

クライアントライブラリは、Log in with X の実装に役立ちます。公式の X libraries に掲載されているクライアントライブラリを使用してください。前の手順で説明したように、/oauth/authenticate エンドポイントを使用します。

ブランドツールキット

Xは公式の X Brand Toolkit を使用して一貫したブランディングを行うことを推奨しています。これらのアセットを保存し、‘Login with X’ ボタンを作成するときに使用してください。