APIを構成する
APIを保護するには、を使ってAPIを登録する必要があります。「APIを登録する」に記載の手順に従って、Timesheets APIを構成します。JSON Web Tokenプロファイル
はアクセストークンのプロファイル(またはダイアレクト)を定義しています。Auth0は以下の異なる2つのプロファイルに対応しています。- Auth0トークンプロファイル
- RFC 9068プロファイル
azp
を使用し、client_id
は使用しません。これらの違いについては、「アクセストークンのプロファイル」をお読みください。
署名アルゴリズム
APIを作成する際には、トークンの署名に使うアルゴリズムを選択する必要があります。署名は、の送信者が自称のとおりであることを検証し、メッセージが途中で変更されていないことを保証するために使用されます。署名はJWTの一部です。JWTの構造に慣れていない場合は、「JSON Web Tokenの構造」を参照してください。
HS256
、RS256
またはPS256
のアルゴリズムです。
RS256 の使用が最も安全で推奨されます。それには以下のような理由があります。
- RS256では、秘密鍵の所有者(Auth0)のみがトークンに署名できる一方、誰でも公開鍵を使ってトークンの有効性を確認できます。
- HS256では、秘密鍵が侵害されると、新しいシークレットでAPIをデプロイし直す必要があります。RS256では、複数のオーディエンスに有効なトークンを要求できます。
- RS256では、新しいシークレットを使ってAPIをデプロイし直すことなく、鍵のローテーションを実装できます。
スコープを構成する
APIの設定では、アプリケーションが認可中に要求可能なスコープを構成する必要があります。[Permissions(アクセス許可)]タブに移動します。 このセクションでは、以前に説明した4つのスコープ(batch:upload
、read:timesheets
、create:timesheets
、delete:timesheets
、approve:timesheets
)すべてを追加することができます。これらに加えてbatch:upload
も追加できます。
ここでは、このドキュメントの目的に沿って、cronジョブで必要な唯一のスコープである
batch:upload
スコープだけを扱います。ただし、完全を期すために、今後のアプリケーションで必要になるスコープについても追記します。![[Dashboard]>[API]>[アクセス許可]](https://mintlify.s3.us-west-1.amazonaws.com/docs-dev/images/ja-jp/cdy7uua7fh8z/73FeuGyODcu3q7PKjLaQOO/8592f7dc5200efa97321cd50bc28e095/Timesheets_API_-_Permissions_-_Japanese.png)
アプリケーションを作成する
Auth0 DashboardでAPIを作成すると、APIのテストアプリケーションが自動的に生成されます。Auth0 Dashboardで[Application(アプリケーション)]セクションに移動すると、Timesheets APIのテストアプリケーションがあります。
Timesheets Import Job
」に変更します。
cronジョブには、M2Mアプリケーションが必要です。APIの作成時に生成されたテストアプリケーションが、M2Mアプリケーションとして自動的に構成されます。
アプリケーションのAPIアクセスを構成する
最後に、アプリケーションにTimesheets APIへのアクセスを許可する必要があります。APIの構成に戻って、[Machine to Machine Application(M2Mアプリケーション)]タブを選択します。 リスト内のTimesheets Import Job アプリケーションにAPIへのアクセスが有効になっていることを確認します。有効な場合には、アプリケーション名の右にあるスイッチの値が[Authorized
(許可)]になります。アプリケーションが認可されていない場合には、スイッチの値を[Unauthorized
(不許可)]から[Authorized
(許可)]に切り替えます。
また、Auth0での認可についてアプリケーションに発行されるアクセストークンに、どのようなスコープが含まれるのかを指定する必要があります。
アプリケーション名の右端にある下矢印をクリックしてアプリケーションの設定を展開すると、使用可能なスコープが表示されます。cronジョブは外部システムにある入力内容を基に新しいタイムシートを作成するだけなので、batch:upload
スコープのみが必要です。
batch:upload
スコープを選択したら、[Update(更新)] ボタンをクリックして設定を保存します。
