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

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