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

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^



コメント