IdentityPlatformを使用したFirebaseAuthenticationによるOIDC連携 (LINE認証)
こちらの内容は記事にしました。
記事のほうが多少詳しいかもしれません
以下の自分の記事でLINE認証をFirebase Authenticationの
カスタムトークン機能を利用して連携について記載した。
この方法でもできるが以下公式で紹介されている
OpenID Connect機能を利用することでもできそうでしたので
それを試していく。
試すのはLINE認証。
準備
公式に記載されている情報を揃える.
左側を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を登録する際には改行することで登録できます。
実装
以下のままです。
serCustomParameters
に client_id 、 response_type 、 redirect_uri 、 state 、 scope 、およびresponse_mode は含めてはいけません。(わたしは含めました...)
Firebase側でデフォルトで追加してくれます。(めっちゃ便利...)
他のプロバイダーと同様のメソッドが利用できるのでめっちゃ楽ちん。
scopeにemailが含まれているがLINEの場合emailは必須ではないのでどうなるかと思いましたが
取得できない場合は登録名をIDとしてUIDを発行してくれました。
(同じ登録名の人が登録したときはどうなるんだろ...)
結論
OpenID Connectに準拠しているのであればこちらを100%使いましょう。