1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Auth0の「Audience」とは?

Last updated at Posted at 2024-10-29

Auth0における「audience」とは、認証の際に生成されるAccess Token(アクセストークン)の対象リソース(APIやサービス)を指定するためのパラメータです。これにより、アクセストークンがどのAPIやサービスに対して有効であるかを明確に示すことができます。

具体的な役割や使い方について、以下のポイントで説明します。

1. Audienceの定義

  • 「audience」とは、Access Tokenが使用されるべき「対象のリソースサーバー」を示します。例えば、Auth0で保護されたAPIや他のサーバーサイドサービスなどが対象です。
  • リソースサーバーには通常、APIやバックエンドサービスなどが含まれ、リソースサーバーが受け取るAccess Tokenが「自身のものかどうか」を識別できるようになります。

2. Audienceの指定方法

  • OAuth 2.0またはOpenID Connectを利用してAuth0に認証リクエストを送る際、リクエストのパラメータとしてaudienceを指定します。
  • audienceには、APIの識別子(通常はAPIのURLやユニークな文字列)を設定します。例えば、Auth0管理画面で作成したAPIの識別子を設定することが多いです。
https://<YOUR_AUTH0_DOMAIN>/authorize? audience=<API_IDENTIFIER>& client_id=<YOUR_CLIENT_ID>& response_type=token& redirect_uri=<YOUR_CALLBACK_URI>& scope=read:messages& state=<STATE>

3. Audienceの役割

  • audienceパラメータを含むリクエストが送られると、Auth0は指定されたaudienceに基づき、Access Tokenを発行します。
  • audienceが指定されると、Auth0は通常のIDトークンではなく、APIにアクセスするための「Access Token」を生成し、発行されたトークンはaud(audience)クレームにリソースサーバーの識別子を含みます。
  • リソースサーバー(APIなど)は、受け取ったトークンのaudクレームを検証し、自分のAPIのaudienceが一致するかどうかでトークンの有効性を確認します。

4. 例:複数APIとAudience

  • audienceを利用すると、複数のAPIに対して異なるAccess Tokenを発行できます。たとえば、ユーザーが複数のAPIにアクセスする必要がある場合、それぞれのAPIのaudienceを個別に設定することで、APIごとに認証されたトークンが生成され、セキュリティが強化されます。

まとめ

Auth0の「audience」は、アクセストークンがどのAPIやリソースサーバーを対象とするのかを明示するための重要なパラメータです。適切に設定することで、APIアクセスの制御が可能になり、セキュリティが向上します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?