APIを作成する
- [Name(名前)] :APIのフレンドリー名。機能性には影響しません。
- [Identifier(識別子)] :APIに一意の識別子。URLの使用を推奨していますが、公開されたURLである必要はありません。Auth0がこのAPIを呼び出すことはありません。この値は後から変更することはできません。
- [(署名アルゴリズム)] : トークンの署名に使用するアルゴリズム。使用可能な値は
HS256とRS256です。RS256を選択すると、トークンはテナントの秘密鍵で署名されます。署名アルゴリズムの詳細については、「署名アルゴリズム」を参照してください。

署名アルゴリズム
署名はJWTの一部です。JWTの構造に慣れていない場合は、「JSON Web Tokenの構造」を参照してください。
HS256または RS256のアルゴリズムです。
- RS256 は非対称アルゴリズムで、鍵には公開鍵と秘密鍵の2つがあります。Auth0は秘密鍵を保持して署名を生成し、JWTコンシューマーは公開鍵を保持して署名を検証します。
- HS256 は対称アルゴリズムで、1つの秘密鍵が暗号化する側と復号化する側で共有されます。同じ鍵が署名の生成と検証の両方に使用されます。鍵が侵害されないように、細心の注意を払う必要があります。
- RS256では、秘密鍵の所有者(Auth0)のみがトークンに署名できる一方、誰でも公開鍵を使ってトークンの有効性を確認できます。
- HS256では、秘密鍵が侵害されると、新しいシークレットでAPIをデプロイし直す必要があります。RS256では、複数のオーディエンスに有効なトークンを要求できます。
- RS256では、新しいシークレットを使ってAPIをデプロイし直すことなく、鍵のローテーションを実装できます。
JWTの署名アルゴリズムについて詳しくは、「JSON Web Token(JWT)の署名アルゴリズムの概要」を参照してください。
アクセス許可を構成する
read:timesheets、create:timesheets、delete:timesheets、approve:timesheets)すべてを追加することができます。

アプリケーションを作成する
Timesheets Mobile」とします)、タイプに[Native App(ネイティブアプリ)]を選択します。
[Create(作成)] をクリックします。
テナントにAuthorization Extension(認可拡張機能)がインストールされていることを確認する必要があります。確認方法の詳細については、認可拡張機能に関するドキュメントを参照してください。
アクセス許可を定義する
ロールを定義する
delete:timesheets、create:timesheetsとread:timesheetsのアクセス許可を選択します。[Save (保存)] をクリックします。
次に、同じ手順で「Manager(マネージャー) 」ロールを作成し、すべてのアクセス許可が選択されていることを確認します。

ユーザーをロールに割り当てる
トークンのスコープを検証するルールを作成する
action:area、delete:timesheets)のみが、すべてのアクセストークンに含まれることを確実にします。作業が完了したら、[Save(保存)] ボタンをクリックします。
ルールは、[Rules(ルール)]ページに表示されている順番に実行されます。そのため、作成した新しいルールが認可拡張機能のルールより下に来るようにしてください。そうすれば、認可拡張機能のルールより後に実行されます。
前のチュートリアル 1.ソリューションの概要
次のチュートリアル 3.API + モバイルの実装