Closed5

IdentityPlatformを使用したFirebaseAuthenticationによるOIDC連携 (LINE認証)

satjopgsatjopg

準備

公式に記載されている情報を揃える.
左側をFirebaseで用いられている用語, 右側をLINE Developper側の用語で対応した表が以下.
すべてあるのでとりあえずは利用できそう...なのかな

Firebase側用語 LINE側用語
クライアントID チャネルID
クライアントシークレット チャネルシークレット
発行者 https://access.line.me/

Firebase Authenticationの設定

OIDCを選択しようとするとアップグレードが必要と表示されると思うのでアップデートします。

アップグレードが完了するとwith Identity Platformという表記が追加されます。

アップグレード後は「新しいプロバイダを追加」をクリックしOpenID Connectを選択し項目を埋めて次へを押します

コールバックURIが表示されるのでLINE DevelopperのチャネルからLINEログイン設定の項目にある
コールバックURLに追加します。
※ 2つ以上のURLを登録する際には改行することで登録できます。

satjopgsatjopg

実装

以下のままです。

https://firebase.google.com/docs/auth/web/openid-connect#handle_the_sign-in_flow_with_the_firebase_sdk

serCustomParametersに client_id 、 response_type 、 redirect_uri 、 state 、 scope 、およびresponse_mode は含めてはいけません。(わたしは含めました...)
Firebase側でデフォルトで追加してくれます。(めっちゃ便利...)
他のプロバイダーと同様のメソッドが利用できるのでめっちゃ楽ちん。

scopeにemailが含まれているがLINEの場合emailは必須ではないのでどうなるかと思いましたが
取得できない場合は登録名をIDとしてUIDを発行してくれました。
(同じ登録名の人が登録したときはどうなるんだろ...)

satjopgsatjopg

結論

OpenID Connectに準拠しているのであればこちらを100%使いましょう。

このスクラップは2022/10/20にクローズされました