利用可否は Auth0 のプランによって異なります
この機能を利用できるかどうかは、Auth0 のプランまたはカスタム契約によって異なります。詳しくは、Pricingをご覧ください。
拡張
Organizations は拡張ポイントをサポートしているため、organization のメタデータ内でプロパティを定義し、そのデータをActionsで利用できるようにできます。これにより、個々の顧客やアプリケーションに合わせて機能をカスタマイズできます。たとえば、その情報を organization のメタデータに保存しておくことで、サブスクリプションプランに基づいて特定の顧客向けに Actions でカスタムロジックを実行できます。Actions イベントオブジェクト
Action のイベントオブジェクトには、ユーザーの IP アドレス、アプリケーション、位置情報など、現在の認証トランザクションに関するコンテキスト情報が格納されています。 Action 内でevent オブジェクトを使用してトークンの内容を変更すると、その変更はすべての Actions の実行完了後にトークンに反映されます。
SDK
メンバーが自分の組織を自分で管理できるようにするには、メンバーにロールを割り当て、API や SDK を使って自社製品内にダッシュボードを構築できます。管理者は、 (SSO) の設定、ユーザーの組織への招待、メンバーの組織への割り当て、メンバーへのロールの割り当てなどを行えます。 以下に、SDK を使用して組織に対して実行できるタスクの例を示します。以下の例では、ID トークンとアクセストークンでデフォルトで利用できる
org_id クレームを参照しています。ただし、テナントを設定することで、Authentication API で組織名も使用できるようにすることができます。これにより、トークンには org_id と org_name の両方のクレームが含まれるようになります。これらが含まれている場合は、受け取った値が信頼できるエンティティに対応していることを確認するために、org_id に加えて org_name クレームも検証してください。一般に、トークンの検証には組織IDを使用する方法が推奨されます。ただし、ユースケースによっては組織名を使用するほうが適切な場合もあります。組織名を使用してトークンを検証することによる影響を理解するには、Use Organization Names in Authentication API を参照してください。ユーザーを指定した 組織 にログインさせたい
この方法は、アプリケーションコードを管理していることを前提としています。サードパーティアプリケーションの場合、外部の開発者が
organization パラメータを渡すことを保証できません。代わりに、Prompt for Credentials または Prompt for Organizationを使用してください。/authorize リクエストで送信したものと同じであることを確認します。そのために、exp や nonce などのほかのクレームと同様に、org_id クレームを検証します。
詳しくは、以下をご覧ください。
- 認可コードフローを使用してログインを追加する
- 認可コードフローを使用して API を呼び出す
- PKCE を使用した Authorization Code フローを使用してログインを追加する
- PKCE を使用した Authorization Code フローを使用して API を呼び出す
- Implicit Flow with Form Post を使用してログインを追加する
- ハイブリッドフローを使用して API を呼び出す
- 組織に基づいてセッションの非アクティブ タイムアウトをカスタマイズする
自分のアプリケーションから、認証されたユーザーがログインした組織を取得したい
ユーザーが組織を使って認証された場合、組織ID は ID トークンのorg_id クレームに含まれます。Auth0 SPA SDK を使用して、次のように取得します。
const { org_id } = await client.getIdTokenClaims();
API から、アクセストークンがどの 組織 で発行されたかを取得したい
ユーザーが 組織 を使用して認証され、 が指定されている場合、 は となり、ユーザーがログインした 組織 の ID を含むorg_id クレームが含まれます。
これはバックエンドで、ほかのクレームとあわせて検証できます。以下は Ruby の例です。
Auth0ドメインを確認するAuth0ドメインは、テナント名、リージョンのサブドメイン (テナントが US リージョンにあり、2020 年 6 月より前に作成されている場合を除く) 、および
.auth0.com を組み合わせたものです。たとえば、テナント名が travel0 の場合、Auth0ドメイン名は travel0.us.auth0.com になります。 (テナントが US にあり、2020 年 6 月より前に作成されている場合、ドメイン名は https://travel0.auth0.com になります。)カスタムドメインを使用している場合は、そのカスタムドメイン名を指定します。