メインコンテンツへスキップ
Auth0 の Actions を使用すると、事前設定された認可ポリシーによる判断結果を変更または補完できるため、ロールベースのアクセス制御 (RBAC) だけでは対応できない、より複雑なケースにも対応できます。実行される順序に応じて、Actions は権限が に追加される前に、認可の判断結果を変更できます。また、トークンの内容をカスタマイズすることもできます。

特定のアプリケーションへのアクセスを平日のみに制限する

特定のアプリケーションに平日のみアクセスできるようにしたい場合は、新しい Action を作成し、Action をログインフローに追加するため、Login / Post Login トリガーを選択します。次のコードを Actions Code Editor にコピーします。
最後に、作成した Action を Login Flow に追加します。Actions を Flows に関連付ける方法については、Write Your First Action の「Attach the Action to a flow」セクションを参照してください。 ユーザーが週末にアプリケーションへアクセスしようとした場合、認証に成功し、適切な権限を持っていても、アクセスは拒否されます。

社内ネットワーク内のユーザーにのみアクセスを許可する

たとえば、アプリケーションへのアクセスを許可する対象を、社内ネットワーク内からそのアプリケーションにアクセスしているユーザーのみに限定したいとします。新しいActionを作成し、ログインフローに Action を追加するため、Login / Post Login トリガーを選択します。次のコードを Actions Code Editor にコピーします。
最後に、作成した Action を Login Flow に追加してください。Actions を Flow に関連付ける方法については、Write Your First Action の「Attach the Action to a flow」セクションを参照してください。 ユーザーが社内ネットワーク外からアクセスしている場合は、認証に成功し、必要な権限を持っていても、アクセスは拒否されます。
ipaddr.js のような npm ライブラリを使用するには、そのライブラリを Action の依存関係として追加する必要があります。詳しくは、Write Your First Action の「Add a dependency」セクションを参照してください。

API を呼び出すすべてのユーザーのアクセスを拒否する

API を呼び出すすべてのユーザーのアクセスを拒否したいとします。つまり、API の identifier の値に基づいてアクセスを拒否する必要があります。この値は、Auth0 Dashboard > Applications > APIs にある API の API フィールドで確認できます。新しい Action を作成し、Action を ログインフロー に追加するため、Login / Post Login トリガーを選択します。次のコードを Actions Code Editor にコピーします。
最後に、作成した Action を ログインフロー に追加します。Actions を Flows に追加する方法については、Write Your First Action の “Attach the Action to a flow” セクションを参照してください。 この場合、API の identifier の値は https://api.example.com であるため、この値のオーディエンスを拒否します。

トークンにユーザーのロールを追加する

Auth0 が発行したトークンにユーザーのロールを追加するには、event.authorization オブジェクトと、api.idToken.setCustomClaim および api.accessToken.setCustomClaim メソッドを使用します。新しい Action を作成し、この Action を ログインフロー に追加するため、Login / Post Login トリガーを選択します。以下のコードを Actions Code Editor にコピーします。
最後に、作成した Action を ログインフロー に追加します。Actions を Flow に関連付ける方法については、Write Your First Action の「Action をフローに関連付ける」セクションを参照してください。 次の点に注意してください。
  • リクエスト元のアプリケーションに返される は、トリガー処理の最後に生成され、署名されます。最終的に署名された JWT には、Action からアクセスできません。

特定の JA3/JA4 フィンガープリントからのアクセスを拒否する

event.security_context オブジェクトには、現在のトランザクションの JA3/JA4 フィンガープリント値が含まれています。 新しい Action を作成し、Action をログインフローに追加するため、Login / Post Login トリガーを選択します。次のコードを Actions Code Editor にコピーします。
最後に、作成したActionをLogin Flowに追加します。ActionsをFlowにアタッチする方法については、Write Your First Actionの「Action をフローにアタッチする」セクションを参照してください。