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