JWTアクセストークンのペイロードが空文字、encがA256GCMになる – 【Auth0】

JWTアクセストークンのペイロードが空文字、encがA256GCMになる – 【Auth0】

vanillajsでSPAでチュートリアルしていたらログイン後のJWTアクセストークンのペイロードが空文字になっていました。

encがRS256のはずがA256GCM、ペイロードが空文字になってしまっています。

createAuth0Clientメソッドのコンストラクタでaudienceを指定してみました。

auth0Client = await auth0.createAuth0Client({
  domain: config.domain,
  clientId: config.clientId
})

↓

auth0Client = await auth0.createAuth0Client({
  domain: config.domain,
  clientId: config.clientId,
  authorizationParams: {
    audience: `https://${config.domain}/api/v2/`, // apiの識別子
    redirect_uri: 'http://localhost:3000' // コールバックURLで設定したURL
  }
})

await auth0Client.getTokenSilently()で、正常なアクセストークンが取得できました。

※追記 PermissionはAPIによって定義されたものなので、ログイン後、getTokenSilently()の引数にaudienceとscope、redirect_urlなどを指定すれば正常なアクセストークンを取得することができます。

await auth0Client.getTokenSilently({
        authorizationParams: {
          audience: `https://${config.domain}/api/v2/`,
          redirect_uri: 'http://localhost:3000'
      })

ログイン時のaudience未指定のアクセストークンは/userinfoの為だけのBearerトークンとなります。

ttps://auth0.com/docs/api/authentication#get-user-info

参考サイト

ttps://github.com/auth0/auth0-spa-js

ttps://zenn.dev/corocn/articles/374b8695da9411

ttps://community.auth0.com/t/jwt-token-is-invalid-signature/105796

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました