メインコンテンツへスキップ
Auth0でアプリケーションを表す場合には、アプリケーションが対応するべきユーザーの種類を指定することができます。個人による個人アカウントへのログインに対応するアプリケーションもあれば、組織のメンバーによる使用が目的のものもあります。それらの両方に対応するものもあります。これは組織の動作と呼ばれ、Auth0に接続するアプリケーションのそれぞれに設定することができます。 たとえば、アプリケーションには以下を設定することができます。
  • 汎用のマーケティング用ランディングページに**[ログイン]** ボタンを提供して、組織を使わずに、ユーザーをAuth0のログインフローに送る。
  • B2B顧客のそれぞれに個別のURL(Acmeユーザーであればacme.yourcompany.comなど)があり、ユーザーが組織を使ってAuth0 にリダイレクトされ、Acmeのの[ログイン]ボタンが表示される。
これらのシナリオに合わせて組織の動作を定義することができます。また、組織の動作として、アプリケーションで組織の提供を必須にして、ユーザーが誤って組織を使わないAuth0へ送られた場合、組織の名前を入力できるプロンプトが表示されるように定義することもできます。 組織の動作はまたはを使って定義できます。

Auth0 Dashboard

Auth0 Dashboardを使用して組織の動作を定義するには、以下を行います。
  1. [Auth0 Dashboard]>[Applications(アプリケーション)]に移動して、組織を構成したいアプリケーションを選択します。
  2. [Organizations(組織)] ビューを選択して、適切な設定を構成します。
フィールド説明APIマッピング
ユーザーのタイプどのカテゴリーのユーザーがアプリケーションにログインできるかを決定します。

オプションには以下が含まれます:
  • 個人:ユーザーは、個人のアカウントでサインアップでき、アプリケーションに直接ログインできます。個人のユーザーはOrganizationを使用してログインできません。
  • ビジネスユーザー:ログインするためには、ユーザーはOrganizationのメンバーでなければなりません。選択した場合、Organizationを提供してユーザーを/authorizeエンドポイントにリダイレクトするか、またはOrganizationのプロンプトのためにログインフローを設定する必要があります。
  • 両方:ユーザーは、Organizationメンバーとしてログインするか、または個人のアカウントでサインアップできます。
__ユーザーのタイプ__のマッピング先organization_usage

オプション:
  • __個人__のマッピング先deny
  • __ビジネスユーザー__のマッピング先require
  • __両方__のマッピング先allow
ログインフローアプリケーションにアクセスしたときにユーザーに表示する最初のログインプロンプトを決定します。ユーザーのタイプがビジネスユーザーまたは両方に設定されている場合のみ、このフィールドを構成できます。

オプションは次のとおりです:
  • 資格情報のプロンプト:ユーザーは最初にログインの資格情報を提供するように求められます。ログイン後、ユーザーはOrganizationを選択できます。
  • Organizationのプロンプト:ユーザーは最初にOrganizationを選択するように求められます。その後、ログインするための資格情報を提供できます。ユーザーのタイプがビジネスユーザーに設定されている場合のみ、このオプションを使用できます。
  • プロンプトなし:Auth0は、ユーザーに提供するログインプロンプトを規定していません。代わりに、あなたのアプリケーションが、適切なプロンプトを表示するために、Auth0に必要なパラメーターを送信する責任を負います。
ログインフロー のマッピング先organization_require_behavior

オプション:
  • __資格情報のプロンプト__のマッピング先post_login_prompt
  • __Organizationのプロンプト__のマッピング先pre_login_prompt
  • __プロンプトなし__のマッピング先no_prompt
  1. [Save Changes(変更の保存)] を選択します。

Mangement API

クライアント更新エンドポイントPATCH呼び出しを行います。client_idmgmt_api_access_tokenorganization_usage、およびorganization_require_behaviorのプレースホルダーをそれぞれクライアントID、Management APIのアクセストークン、組織の使用オプション、組織の動作オプションに置き換えます。
curl --request PATCH \
  --url 'https://{yourDomain}/api/v2/clients/CLIENT_ID' \
  --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{ "organization_usage": "ORG_USAGE", "organization_require_behavior": "ORG_REQUIRE_BEHAVIOR" }'
説明
CLIENT_IDOrganizationの動作を追加したいアプリケーションのIDです。
MGMT_API_ACCESS_TOKENupdate:clientsスコープのあるManagement APIのアクセストークンです。
ORGANIZATION_USAGEユーザーがOrganizationにログインすることに、アプリケーションが対応するか決定します。オプションには以下が含まれます。
  • deny:(デフォルト)ユーザーはOrganizationを使用してログインできません。
  • allow:ユーザーはOrganizationを使用して、または使用せずにログインできます。選択した場合、/authorizeエンドポイントへのリダイレクトでユーザーにOrganizationを提供する必要があります。
  • require:ユーザーはOrganizationを使用してログインしなければなりません。選択した場合、/authorizeエンドポイントへのリダイレクトでユーザーにOrganizationを提供するか、organization_require_behaviorpre_login_promptに設定し、ユーザーがOrganizationを選択してログインできるようにします。
ORGANIZATION_REQUIRE_BEHAVIORアプリケーションへのアクセスでユーザーに提供するログインフローを決定します。organization_usagerequireまたはallowに設定されている場合にのみ適用されます。

オプションには以下が含まれます。
  • no_prompt:(デフォルト)プロンプトを表示しません。有効なOrganizationパラメーターのない要求は拒否されます。
  • pre_login_prompt:ログインする前に、Organizationの選択をユーザに求めます。このオプションは、organization_usagerequireに設定されている場合にのみ有効です。
  • post_login_prompt:ユーザーに資格情報でログインするように促します。ログインした後で、Organizationの選択をユーザーに求めます。

応答ステータスコード

可能性のある応答ステータスコードは以下のとおりです。
ステータスコードエラーコードメッセージ原因
200Client successfully updated.(クライアントが正常に更新されました。)
400invalid_uriInvalid request URI.(要求URIが無効です。)メッセージは原因によって異なります。パスが有効ではありません。
400invalid_bodyInvalid request body.(要求ボディーが無効です。)メッセージは原因によって異なります。要求ペイロードが有効ではありません。
401Invalid token.(無効なトークンです。)
401Client is not global.(クライアントがグローバルではありません。)
401Invalid signature received for JSON Web Token validation.(JSON Web Tokenの検証に無効な署名を受け取りました。)
403insufficient_scopeInsufficient scope; expected any of: update:clients.(スコープが不足しています。update:clientsが必要です。)渡されたベアラートークンのスコープでは許可されないフィールドの読み込みや書き出しが試行されました。
403insufficient_scopeSome fields cannot be updated with the permissions granted by the bearer token scopes.(一部のフィールドは、ベアラートークンのスコープで付加された権限では更新できません。)メッセージはフィールドやスコープによって異なります。渡されたベアラートークンのスコープでは許可されないフィールドの読み込みや書き出しが試行されました。
403operation_not_supportedThe account is not allowed to perform this operation.(アカウントには、この操作の実行が許可されていません。)アカウントにこの操作の実行が許可されていません。
404inexistent_clientClient not found.(クライアントが見つかりません。)存在しないリソースです。指定されたアプリケーションは存在しません。
429Too many requests.Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.(要求が多すぎます。X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetヘッダーを確認してください。)
I