Auth0クライアント生成時、スコープ未指定時のOpenID Connect Scopeを取得する – 【Auth0】

Auth0クライアント生成時、スコープ未指定時のOpenID Connect Scopeを取得する – 【Auth0】

Auth0クライアント生成時にスコープ指定しない

ログイン時にスコープを指定せずにログインすると、どういったスコープが返ってくるか調べてみました。

auth0Client = await auth0.createAuth0Client({
  domain: 'xxx....',
  clientId: 'yyy....',
  authorizationParams: {
    audience: 'http://example.com/hoge', // API Identifier
    redirect_uri: 'https://example.com:3000', // callback url
    // ★スコープ未指定
  }
});

ログインしてリダイレクトすると、裏側では、以下のリクエストが実行されます。これはChrome開発者ツールなどで見ることが出来ます。

https://<テナント名>/authorize?client_id=xxx….

ドキュメントにある通り設定されていない場合、、profileemailが設定されます。そしてscopeの指定に関係なくopenidはスコープに付与されます。

JWTのスコープは以下画像のように、"scope": "openid profile email",となります。

OIDC ScopeとAPIの認可スコープの2種類があるのでややこしいですね。

ドキュメント

OpenID Connect Scopes
Understand scopes and claims used with the OpenID Connect (OIDC) protocol.
AuthorizationParams | @auth0/auth0-spa-js
Documentation for @auth0/auth0-spa-js

コメント

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