sidebarIdM実験室いろんなアイデンティティ管理系製品やサービスの実験の記録をしていきます。後は、関連するニュースなどを徒然と。scriptの中でのid_tokenの扱いが変わったので修正こんにちは、富士榮です。Auth0楽しいです。Loginも楽しいです。Loginを実装してみます。ちなみに、Auth0の古田さんが以前書いていらっしゃるQiitaを見ればそのままなんですが、メールアドレスが取れない!という課題が解決していないので、そのあたりもカバーしてみます。古田さんのQiita:Auth0でLINEログインを実装してみた(v2.1対応)https://qiita.com/furuth/items/6df4334c3821ffc69d9cざっくり解説すると以下のとおり実装します。細かい手順は古田さんのQiitaを見てください。Connections」を使う(流石にLINEはビルトインされていない)LINE側に登録したClientID、ClientSecretをAuth0のExtensionに設定するAuth0のExtensionは基本的にOAuthなので、ユーザ属性はLINEのProfileエンドポイントから取得するLINEの場合、この3番が曲者ですね。Loginでメールアドレスを取得できるようにはなりましたが、あくまでid_tokenの中に入っており、Profileエンドポイントからは取得できないんです。以前のポストhttps://idmlab.eidentity.jp/2018/03/line-loginemailidtoken.htmlと、言うことでAuth0のExtensionの中のプロファイル取得スクリプトでなんとかするしかありません。このプロファイル取得スクリプト、先に書いた通り、OAuthな前提なので、access_tokenを基にProfileエンドポイントへアクセスして属性を取得するようなサンプルしかありません。今回はここでid_tokenをとってきて中からメールアドレスを取り出したいので、以下のようにスクリプトを書き換えます。access_tokenは使いません。JWTの記載がないので、node.jsのjsonwebtokenライブラリがうまくjsonオブジェクトに変換をしてくれず、stringで結果が返ってきてしまします。そのため、2行目でJSON.parseをつけてjsonオブジェクトに変換しています。JWTがヘッダにあるので、JSON.parseは不要でした。require('jsonwebtoken');を追記してみてください。Tryボタンで動作確認ができ、ログインするとこんな感じでid_token内の属性が取得できます。※(追記)スクリーンショットがわかりにくい(メールアドレスはTryでは出てこない)ので、ユーザ・プロファイルの画面を張っておきます。よりアクセス解析を行っています。品質向上のみを目的とし、個人の特定などを目的とはしておりません。中で公開されることはあります。問い合わせ不明点等は管理人までご連絡ください。本プライバシーポリシーは予告なく変更/削除することがあります。プライバシーに関するトラブルについては一切の責任を負いかねますのでご了承ください。