仕組み
- /authorize エンドポイントと SAML エンドポイントの
organizationパラメータで、organization名と ID の両方を指定できるようになります。 - アクセストークンと には、自動的に
org_nameとorg_idの両方のクレームが含まれます。
- Organizations には 2 つの名前を設定できます。1 つは一意の論理識別子として機能する必須の Name 値で、もう 1 つは任意のわかりやすい Display Name です。
org_nameパラメータで受け付けられるのは必須の Name 値のみで、Display Name 値には対応していません。 - この機能はテナントレベルで管理されます。特定の組織ごとに個別に有効化することはできません。
- Auth0 Dashboard: 左側のメニューから 設定 を選択し、Advanced タブを開きます。設定 セクションで、Allow Organization Names in Authentication API トグルを有効にします。
- Management API:
PATCH /api/v2/tenants/settingsエンドポイントを使用して、allow_organization_name_in_authentication_apiをtrueに設定します。詳しくは、Management API のドキュメントを参照してください。
フローの例
organizationパラメータに organization名を渡して、/authorizeエンドポイントを呼び出します。
- 認可コードを取得したら、アクセストークンと ID トークンを取得するために
POST /oauth/tokenエンドポイントを呼び出します。
- 返されたデコード済みトークンには、
org_idとorg_nameの両方のクレームが含まれています。
考慮事項と推奨事項
ユーザビリティとセキュリティに関する考慮事項
- organization名は再利用される可能性があります: 有効期間の長いトークンは、organizationが名前を変更しても失効せず、それらのトークン内の org_name クレームには元の値が保持されます。元の名前が後で別のorganizationによって再利用されると、そのようなトークンによって、ユーザーに新しいorganizationが管理するデータやリソースへの不正なアクセスが許可される可能性があります。
- organization名が一意なのは単一の テナント 内だけです: APIがトークン内の
iss(発行者) クレームを検証しない場合、別の テナント に同じ名前のorganizationがあると、そのorganizationが生成したトークンをAPIが誤って受け入れてしまう可能性があります。 - organization名は変更できます: organizationの名前を変更した場合、アプリケーションは Authentication API リクエストで新しいorganization名を指定する必要があります。トークンは長期間有効である場合があるため、トークン内の
org_nameクレームが現在のorganization名と一致しなくなり、その結果、アプリケーションが適切なorganizationへのアクセスを許可できなくなる可能性があります。
推奨されるベストプラクティス
- トークンが Auth0 テナントによって発行されたことを確認するため、必ず
issクレームを検証してください。 - テナント内で以前使用されていた organization名を再利用しないでください。再利用を防ぎ、過去に発行されたトークンが別の組織へのアクセスに使われないようにするため、過去の organization名の正確かつ最新の記録を維持してください。
- 組織で使用を開始した後は、どうしても必要な場合を除き、organization名を変更しないでください。organization名を変更する場合は、既存のアクセストークンや ID トークンに新しいorganization名が自動的に含まれるわけではないことに注意してください。organization名を変更した後は、ユーザーに再度ログインするよう求めてください。