Amazon CognitoではLINEログインのボットリンク機能は…使えません!
できないことが早期に分かることも開発では必要だと思うので、あえて書いておきます。
伝えたいことは表題通りです。
LINEログインのボットリンク機能は、Amazon CognitoのCognito User Poolでは使えません。
(もしできる方法があったなら、教えてください!)
ボットリンク機能とは
LINEログインの際に、LINE公式アカウントを友だち追加するオプションを表示できる機能です。
詳しくはこちら。
これを利用するには、LINEログインの認可URLにbot_prompt
というクエリパラメータをつける必要があります。
以下のような感じで。
https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id={CHANNEL_ID}&redirect_uri={CALLBACK_URL}&state={STATE}&bot_prompt={BOT_PROMPT}&scope={SCOPE_LIST}
Cognito User PoolのOpenID Connect連携
Cognito User PoolにはOpenID Connectを連携させる機能があります。
LINEログインはOpenID Connect準拠なので、必要な設定をすればUser PoolのIDプロバイダーとして利用することができます。
問題の発覚
私のプロジェクトでは、Amplify JavaScriptライブラリを使っています。
Auth.federatedSignIn
を使ってLINEログインを行います。
さて、ボットリンク機能を使うには、LINEログインの認可エンドポイントに飛ぶとき、URLにbot_prompt
というパラメータをつける必要があります。
「きっと追加のクエリパラメータを渡せるオプションがあるだろう」と甘く見て開発を進めていました。
ですが、ありません。
customStateを渡すことはできますが、それ以外のパラメータを指定することはできません。
そもそも、クライアントアプリから直接LINEログインにリダイレクトするのではなく、一回xxxxxxxxxx.auth.ap-northeast-1.amazoncognito.com
を経由することになります。
なので、LINEログインの認可URL(https://access.line.me/oauth2/v2.1/authorize
)をどのように組み立てるか、クライアントアプリではどうやっても制御できないのです。
Cognitoの設定画面にもそれらしい項目はありません。
StackOverflowにも質問が上がっていました。Auth0では動的にパラメータを設定できるようですね。羨ましい。
こればっかりは、Cognito側でいつかサポートしてもらえることを(あまり期待せずに)待つしかなさそうです。
うーん、困った。
Author And Source
この問題について(Amazon CognitoではLINEログインのボットリンク機能は…使えません!), 我々は、より多くの情報をここで見つけました https://zenn.dev/kecy/articles/7e8648dd2bdc3e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol