Sequence BuilderへのクライアントID追加
まず、X Developer Portalでアプリケーションを作成し、クライアントIDとクライアントシークレットを取得します。 アプリケーション作成後、クライアントIDをSequence Builderのプロジェクト設定に追加してください。- Sequence Builderでご自身のプロジェクトにアクセスします。
- Embedded Walletの設定画面に移動します。
- 認証プロバイダーの一覧からX(Twitter)を選び、該当欄にクライアントIDを貼り付けます。
SDKを使った認証
Xからアクセストークンを取得したら、Sequence WaaS SDKに渡してユーザーをサインインさせます。GoogleやEpic Gamesなど他のOIDCプロバイダーとは異なり、Xの場合はxAccessToken
パラメータを使用します。
Xからアクセストークンを取得する方法
アクセストークンを取得するには、OAuth 2.0 PKCEフローを実装する必要があります。XのOAuth 2.0実装に関する問題に対応するため、Sequenceでは認証フローを円滑かつ確実に行うための独自プロキシサービスを提供しています。Sequence X Auth Proxyの利用
api.x.com
に直接リクエストを送る代わりに、OAuth 2.0フローを補助するSequenceプロキシURLを利用します。
OAuth 2.0 PKCEフローでトークン交換を行う際は、以下のURLを指定してください。
実装例
以下は、Sequenceプロキシを使ってX認証フローを実装する最小限の例です。本番環境のアプリケーションでは、より安全な
S256
のcode_challenge_method
をPKCEで利用してください。これはランダムなcode_verifier
文字列を生成し、それをSHA-256でハッシュ化し、Base64-URLエンコードしたものをcode_challenge
として送信します。元のcode_verifier
はトークンリクエスト時に送信します。必要なスコープ
Xアプリケーションを設定し、ユーザーに認可を求める際は、最低限以下のスコープを含める必要があります。users.read
email.read
tweet.read
tweet.read
を必ず含めてください。X APIの仕様により、このスコープをリクエストしないと他のスコープが有効にならない場合があります。Sequenceがユーザーのツイートを取得することはありませんが、認証処理を正しく行うためにこの権限が必要です。