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トークンとなります。

Authentication API Explorer
GetstartedusingAuth0.Implementauthenticationforanykindofapplicationinminutes.

参考サイト

GitHub - auth0/auth0-spa-js: Auth0 authentication for Single Page Applications (SPA) with PKCE
Auth0authenticationforSinglePageApplications(SPA)withPKCE-GitHub-auth0/auth0-spa-js:Auth0authenticationforSinglePageApplications(SPA)withPKCE
Auth0 と auth0-spa-js を使った独自Backend APIのアクセス制御方法の整理
JWT token is "invalid signature"?
I’mtotallynewtoJWTandmostauth.RightnowIhaveafront-endwhichhasAuth0’suniversalloginintegrated.Oncallback,Iobtaintheauthtokenviaauth0Client.getTokenSilently().Thi...

コメント

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