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
Get started using Auth0. Implement authentication for any kind of application in minutes.

参考サイト

GitHub - auth0/auth0-spa-js: Auth0 authentication for Single Page Applications (SPA) with PKCE
Auth0 authentication for Single Page Applications (SPA) with PKCE - GitHub - auth0/auth0-spa-js: Auth0 authentication fo...
Auth0 と auth0-spa-js を使った独自Backend APIのアクセス制御方法の整理
JWT token is "invalid signature"?
I’m totally new to JWT and most auth. Right now I have a front-end which has Auth0’s universal login integrated. On call...

コメント

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

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

続きを読む

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