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

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

たとえば、平日にのみアクセスできるようにしたいアプリケーションがあるとします。新しいActionを作成し、Action をログインフローに追加するため、Login / Post Login トリガーを選択します。続いて、次のコードを Actions Code Editor にコピーします。
最後に、作成したActionをログインフローに追加します。Actions を Flows にアタッチする方法については、初めての Action を作成するの「Action をフローに関連付ける」セクションを参照してください。 ユーザーが週末にアプリケーションへアクセスしようとした場合は、認証されており必要な権限を持っていても、アクセスは拒否されます。

企業ネットワーク内からアクセスしているユーザーのみにアクセスを許可する

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

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

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

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

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

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

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