Skip to main content
Log in with X (Sign in with X とも呼ばれます) を使用すると、サイトやアプリケーションにボタンを設置し、X ユーザーが1 回のクリックで登録ユーザーアカウントとしての利便性を利用できるようにできます。この機能は Web サイト、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における 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 プロトコルを使用してリクエストに署名する方法を理解していることを前提としています。リクエストへの署名方法を知りたい場合は、Authorizing a request ページを参照してください。 このページで示しているリクエストの署名を検証したい場合、使用している consumer secret は次のとおりです: L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg。この値はテスト目的のものであり、実際のリクエストでは使用できません。 Log in with X を実装するための 3 つのステップ (リクエストトークンの取得、ユーザーのリダイレクト、リクエストトークンをアクセストークンに変換する手順) は以下のとおりです。

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

サインイン フローを開始するには、X app が署名付きメッセージを POST oauth/request_token に送信して、リクエストトークンを取得する必要があります。このリクエストで一意のパラメータは oauth_callback だけであり、ステップ 2 が完了したときにユーザーをリダイレクトしたい URL を URL エンコードしたものにする必要があります。残りのパラメータは OAuth の署名プロセスによって追加されます。
注記: POST oauth/request_token エンドポイントで使用するいずれの callback URL も、開発者コンソール 内の X app 設定 に登録しておく必要があります。
リクエスト例 (Authorization ヘッダーは途中で改行しています) :
App はレスポンスの HTTP ステータスを確認する必要があります。200 以外の値は失敗を示します。レスポンスボディには、oauth_tokenoauth_token_secretoauth_callback_confirmed パラメータが含まれます。App は、oauth_callback_confirmedtrue であることを検証し、残り 2 つの値を次の手順のために保存する必要があります。レスポンス例 (レスポンスボディは一部折り返しています) :

「Log in with X」に関するリソース

クライアントライブラリ

X libraries に掲載されているクライアントライブラリは、Log in with X の実装に役立ちます。前のステップで説明したとおり、/oauth/authenticate エンドポイントを使用してください。

Brand Toolkit

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