API を設定する
JSON Web Token プロファイル
- Auth0 トークンプロファイル
- RFC 9068 プロファイル
client_id ではなく azp を使用します。違いの詳細については、アクセストークンプロファイル を参照してください。
署名アルゴリズム
署名は JWT の一部です。JWT の構造に不慣れな場合は、JSON Web Token Structure を参照してください。
HS256, RS256, または PS256。
最も安全で、Auth0 が推奨する方法は RS256 を使用することです。理由の一部を以下に示します。
- RS256 では、秘密鍵の保有者 (Auth0) のみがトークンに署名でき、公開鍵を使って誰でもトークンが有効かどうかを確認できます。
- HS256 では、秘密鍵が侵害された場合、新しいシークレットを使用して API を再デプロイする必要があります。RS256 では、複数のオーディエンスに対して有効なトークンをリクエストできます。
- RS256 では、新しいシークレットを使って API を再デプロイしなくても、鍵のローテーションを実装できます。
Scopes を設定する
Permissions タブに移動します。
このセクションでは、前述のスコープ batch:upload、read:timesheets、create:timesheets、delete:timesheets、approve:timesheets を追加できます。さらに、追加のスコープとして batch:upload も追加します。
このドキュメントでは、cron ジョブに必要なのが
batch:upload スコープのみであるため、このスコープだけを扱います。ただし、網羅性のために、今後のアプリケーションで必要になるスコープも追加しています。
アプリケーションを作成する

Timesheets Import Job に変更します。
cron ジョブには、マシン間アプリケーションが必要です。API の作成時に生成されたテストアプリケーションは、自動的にマシン間アプリケーションとして構成されています。
アプリケーションの API へのアクセスを設定する
Authorized になっていれば、そのアプリケーションに API へのアクセスが許可されていることを確認できます。Authorized になっていない場合は、スイッチを Unauthorized から Authorized に切り替えてください。
また、アプリケーションが Auth0 で認可される際に、そのアプリケーションに発行されるアクセストークンに含めるスコープも指定する必要があります。
右端の下向き矢印をクリックしてアプリケーションの設定を展開すると、使用可能なスコープの一覧が表示されます。この cron ジョブは外部システム内のタイムシート項目に基づいて新しいタイムシートを作成するだけなので、必要なのは batch:upload スコープのみです。
batch:upload スコープを選択したら、Update ボタンをクリックして設定を保存します。
