ソーシャルログイン

Xログインの導入方法|OAuth 2.0の設定・取得できる情報・APIの料金と注意点

Xログインの実装はOAuth 2.0の一般的な手順で進められますが、導入前に確認すべき点が2つあります。X APIが従量課金で利用者情報の取得も課金対象になっていること、メールアドレスは専用の権限と利用者の許可がないと受け取れないことです。本記事では設定の流れと、設計で気をつける点を示します。

Xログインとは、X(旧Twitter)のアカウントを使って自社サイトにログイン・会員登録できるようにする仕組みです。XのAPIが提供するOAuth 2.0の認可を使い、利用者が許可した範囲で、XのユーザーIDやユーザー名などを受け取ります。

ソーシャルログインの基本(仕組み・メリットとデメリット・選び方)はソーシャルログインとはで解説しています。

結論:X APIの料金体系と、メールアドレスの扱いを先に確認する

Xログインの実装そのものは、OAuth 2.0の一般的な手順で進められます。導入前に確認しておきたいのは、次の2点です。

  1. X APIの利用料金……X APIは使った分だけ支払う従量課金になっており、ログイン後に利用者情報を取得するAPIも課金の対象として案内されている
  2. メールアドレスの扱い……メールアドレスは専用の権限を設定したうえで、利用者が許可した場合に取得できる。すべての利用者から取得できる前提で設計しない

XはLINEやGoogleと比べて、会員情報を埋める目的には向きません。一方で、Xでの発信が活発な利用者が多いサービスでは、登録の手間を減らす選択肢になります。ほかのSNSとの比べ方は6サービスの比較と組み合わせ方で解説しています。

導入の流れ:開発者コンソールでアプリを作る

Xログインを使うには、Xの開発者コンソール(console.x.com)で開発者として登録し、アプリを作成します。

  1. Xのアカウントで開発者コンソールにログインし、開発者契約とポリシーに同意する
  2. アプリを作成し、名前・説明・用途を入力する
  3. OAuth 2.0の設定で、アプリの種類を選ぶ
  4. ログイン後に戻ってくる自社のURLを、コールバックURLとして登録する
  5. 発行されたClient IDとClient Secretを保管する

認証情報は作成時に一度しか表示されないと案内されています。紛失すると再発行が必要になり、古い値は使えなくなるため、社内の安全な場所に保管してください。開発者アカウントは担当者個人ではなく、会社として管理できるアカウントで作ることをおすすめします。

アプリの種類の選び方

種類

区分

向いている用途

Web App

コンフィデンシャル(Client Secretあり)

サーバー側で処理するWebサイト。多くの会員サイトはこれを選ぶ

Automated App / Bot

コンフィデンシャル

サーバーで動く自動処理。ログイン用途では通常使わない

Native App

パブリック(Client Secretなし)

スマートフォンやデスクトップのアプリ

Single Page App

パブリック

ブラウザだけで動くJavaScriptのアプリ

コールバックURLの条件

公式ドキュメントでは、コールバックURLについて次の条件が示されています。

  • 登録したURLと完全に一致している必要がある(末尾のスラッシュの有無も区別される)
  • 1つのアプリに登録できるのは最大10件
  • 本番環境では https を使う。ローカルでの開発では localhost ではなく 127.0.0.1 を使う

開発用・検証用・本番用でアプリを分けることも推奨されています。

OAuth 2.0 の設定

XのOAuth 2.0は、Authorization Codeフロー+PKCE(認可コードの横取りを防ぐ仕組み)で利用者の許可を得ます。

  1. ログインボタンから、Xの認可画面(x.com/i/oauth2/authorize)へ移動する。このとき、要求するスコープ、state、PKCEの値を付ける
  2. 利用者が許可すると、コールバックURLに認可コードが返る
  3. サーバーで、認可コードをアクセストークンに交換する(api.x.com/2/oauth2/token)
  4. アクセストークンで利用者情報のAPI(/2/users/me)を呼び出し、XのユーザーIDを取り出す
  5. XのユーザーIDで自社の会員を探し、見つからなければ新しく作成する

運用上、特に気をつけたい仕様は次のとおりです。

項目

公式ドキュメントでの説明

設計上の注意

認可コードの有効期限

30秒

受け取ったらすぐにトークンと交換する

アクセストークンの有効期限

既定で2時間

ログイン時に利用者情報を取得し終える作りにする

リフレッシュトークン

offline.access スコープを付けた場合だけ発行

ログイン用途だけなら要求しない選択もある

state

CSRF対策のランダムな文字列

戻ってきた値が送った値と一致するか必ず確認する

要求するスコープは、ログインに必要な最小限にします。利用者情報の取得には users.read と tweet.read、メールアドレスも受け取るなら users.email を加えます。投稿などの権限を要求すると、許可画面で利用者に警戒されやすくなります。

取得できる情報とメールアドレスの扱い

ログイン後に /2/users/me で取得できる主な情報は次のとおりです。

情報

取得の条件

使い方の注意

ユーザーID

users.read などで取得

会員の識別にはこの値を使う

表示名・ユーザー名(@から始まる名前)

users.read などで取得

利用者が変更できるため、識別には使わない

プロフィール画像・自己紹介など

取得する項目を指定して要求

必要な項目だけを要求する

確認済みメールアドレス

users.email スコープを付け、confirmed_email を指定して要求

取得できない利用者がいる前提で設計する

メールアドレスの取得は、2025年4月にOAuth 2.0でも使えるようになりました。以前はOAuth 1.0aの仕組みでしか取得できなかったため、古い解説を参考にすると手順が合わないことがあります。

メールアドレスを要求するには、アプリの設定で自社のプライバシーポリシーと利用規約のURLを登録しておく必要があります。Xのアカウントは電話番号だけで登録されている場合もあるため、メールアドレスを受け取れなかったときに登録フォームで入力してもらう流れを用意しておくと、登録が途中で止まりません。ほかのSNSで取得できる情報との違いはソーシャルログインで取得できる情報で整理しています。

API の利用プランと制約

X APIは、クレジットを先に購入し、APIを呼び出すたびに差し引かれる従量課金です。公式の料金ページでは、サブスクリプションはなく、使った分だけ支払う形と案内されています。

  • クレジットは開発者コンソールで購入する
  • 利用者情報の取得(User: Read)は、2026年9月時点の公式ページで1件あたり0.010ドル
  • 同じ情報を1日(協定世界時)のうちに何度取得しても、1回分として数える仕組みがある。ただし公式ページでは「保証ではない」とされている

ログインのたびに利用者情報を取得する設計では、ログイン数に比例して費用が発生すると考えておきます。トークンの発行そのものが課金されるかは、料金ページでは明示されていません。料金は変わることがあるため、導入時点の公式ページで確認してください。

あわせて、Xの開発者ポリシーにも注意が必要です。

  • サービスへの登録前に、自社のプライバシーポリシーを利用者に示す
  • 利用者がログインしただけでは、利用者に代わって投稿などを行う同意にはならない
  • Xのアカウント情報を自社の顧客データと結びつけるには、利用者の明示的な同意が必要

プライバシーポリシーの記載内容や同意の取り方は、自社の法務・管理部門に確認してください。

導入するときの注意点

注意点

対応

ユーザー名で会員を照合する

ユーザー名は変更できる。XのユーザーIDで照合する

メールアドレスが必ず取れる前提で作る

取得できない場合は、登録フォームで入力してもらう

本番のコールバックURLが一致しない

末尾のスラッシュまで含めて、登録した値と一致させる

利用料金を見込んでいない

月間のログイン数から、利用者情報の取得にかかる費用を試算する

利用条件の変更に気づかない

Xは仕様や料金の変更が比較的多い。開発者向けのお知らせを定期的に確認する

既存会員とXのアカウントを紐づける方法はソーシャルログインのアカウント統合、導入全体の進め方はソーシャルログインの導入手順と期間をご覧ください。

よくある質問

Xログインは今でも導入できますか?

できます。開発者コンソールでアプリを作成し、OAuth 2.0を設定すれば利用できます。Login PlusもX(旧Twitter)のログインに対応しています。

X APIは無料で使えますか?

2026年9月時点の公式の料金ページでは、X APIは従量課金とされ、無料の枠は案内されていません。ログイン後に利用者情報を取得するAPIも課金の対象として記載されています。導入前に、想定するログイン数で費用を見積もってください。

メールアドレスは取得できますか?

users.email スコープを付け、利用者が許可した場合に、確認済みのメールアドレスを取得できます。アプリの設定でプライバシーポリシーと利用規約のURLの登録が必要です。取得できない利用者もいるため、入力フォームを残しておきます。

OAuth 1.0a とOAuth 2.0のどちらを使えばよいですか?

新しく導入するなら、公式ドキュメントで推奨されているOAuth 2.0を使います。OAuth 1.0aで連携済みの利用者がいる場合は、トークンをOAuth 2.0に移行する方法も用意されています。

Login Plus について

Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応
Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応

Login Plusは、6つのソーシャルログイン(Apple・Facebook・Google・X(旧Twitter)・Yahoo! JAPAN・LINE)とパスキーに1つの実装で対応できるサービスです。

  • Xを含む各SNSへの申請手順書を無償で提供
  • 各SNSの仕様変更にはLogin Plus側で対応
  • 管理画面で、利用ID数・ログイン数・利用SNSの内訳を確認。使われていないSNSを外す判断にも使える
  • 導入期間は約2か月(1か月目に申請と連携の設定、2か月目に実装とテスト)

Xログインを使う場合のX側の費用の考え方や、自社のシステムに組み込めるかのご相談は、資料請求またはお問い合わせからどうぞ。料金は料金ページ、導入の進め方は導入の流れ、よくいただく質問はよくある質問にまとめています。

ソーシャルログイン・パスキーの資料をお送りします

対応SNS・料金・実装の流れ・導入事例をまとめています。
「自社に導入できるか」のご相談も、同じフォームから承ります。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

個別のご相談は からもどうぞ。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。