ようへいの日々精進XP

よかろうもん

【とりあえず走り書き】Auth0 で Custome Claim を ID Token に含める方法

tl;dr

Auth0 でユーザー登録した際に一緒にポストしたメタデータとか ID Token に含める方法を調べたので, 取り急ぎメモ. 以下の記事 (というかドキュメント) が参考になりました.

auth0.com

auth0.com

auth0.com

とりあえず走り書き

メタデータ

Auth0 において, ユーザーに紐付けることが出来るメタデータには二種類あって, user_metadata と app_metadata が利用可能です. どちらをどのように使うかについては未調査です.

Custom claim を ID Token に含める

ID Token の標準的な情報 (Standard Claims) 以外が Custom Claim となり, これを ID Token に含める為には, Rule で以下のコードを書きます.

function (user, context, callback) {
  const namespace = 'https://myapp.example.com/';
  context.idToken[namespace + 'nickname'] = user.user_metadata.nickname;
  callback(null, user, context);
}

上記は user_matadata に登録されている nickname を ID Token に含める場合のコード例です. 尚, user_metadata には以下のように登録されています.

{
  "nickname": "testtest"
}

Auth0 の Rule 自体の詳細については割愛しますが, ユーザーがアプリケーションを認証する際に実行する JavaScript の関数で認証のプロセスが完了すると実行され, Auth0 の機能をカスタマイズして拡張することが出来るものとなります.

そもそも ID Token とは

developer.yahoo.co.jp

上記のサイトの冒頭にて一行で書かれているので引用させていただきます.

ID Tokenとはユーザー認証情報を含む改ざん検知用の署名付きTokenであり、JWT(JSON Web Token)フォーマットでエンコードされています。

個人的には, この一行でスッと入ってきました.

以上

走り書きでした. 引き続き, 時間を見つけてメモります.