- Dashboard で、Authentication > Socialに移動します。
- Create Connectionを選択し、リストの一番下まで移動してからCreate Customを選択します。
- Connection Name: 作成する接続の論理識別子です。この名前は変更できず、先頭と末尾は英数字である必要があり、使用できるのは英数字とダッシュのみです。
-
Authorization URL: ユーザーがログインのためにリダイレクトされる URL です。
認可 URL で OAuth 2.0 の
response_modeパラメーターを設定しないでください。この接続でサポートされるresponse_modeはデフォルトのqueryのみです。 - Token URL: 受け取った認可コードをおよび、要求された場合はと交換するための URL です。
-
Scope: 認可リクエストとともに送信する
scopeパラメーターです。複数のスコープはスペースで区切ります。 -
Separate scopes using a space: IdP の API を呼び出す際に
connection_scopeパラメーターが含まれている場合、スコープの区切り方法を決定するトグルです。デフォルトでは、スコープはコンマで区切られます。トグルを有効にすると、スコープはスペースで区切られます。詳細は、IDプロバイダー API を呼び出すためのスコープ/Permissions の追加を参照してください。 - : 認可を要求し、認可コードを交換するためにアプリケーションとして使用される Auth0 のクライアントIDです。Client ID を取得するには、に登録する必要があります。
- : 認可コードの交換に使用される、アプリケーションとしての Auth0 のクライアントシークレットです。Client Secret を取得するには、IDプロバイダーに登録する必要があります。
- ユーザープロファイル取得スクリプト: 提供されたアクセストークンを使用して userinfo URL を呼び出すための Node.js スクリプトです。詳細は、ユーザープロファイル取得スクリプトを参照してください。
- Purpose: 認証、Token Vault の Connected Accounts、またはその両方でソーシャル接続を有効にします。詳細は、ユーザー認証と Connected Accountsを参照してください。
カスタムIDプロバイダーを設定する際は、コールバックURL
https://{yourDomain}/login/callback を使用してください。認証フローを更新する
-
/get-connections-by-idエンドポイントにGETリクエストを送信します。レスポンスは次のようになります。 -
optionsオブジェクト全体をコピーします。 -
optionsオブジェクトを含めたPATCHリクエストを送信し、"pkce_enabled":trueを追加します。
ユーザープロファイル取得スクリプト
user_id プロパティは必須です。email プロパティは任意ですが、含めることを強く推奨します。返される属性の詳細については、User Profile Root Attributesを参照してください。
プロバイダーから返されるユーザープロファイルでは、任意の項目をフィルタリングしたり、追加したり、削除したりできます。ただし、このスクリプトはできるだけシンプルに保つことをお勧めします。ユーザー情報をより高度に操作するには、Rulesを使用できます。Rules を使用する利点の 1 つは、どの接続にも適用されることです。
カスタム接続を使用してログインする
アイコンと表示名を変更する
options オブジェクトの icon_url プロパティと display_name プロパティを設定します。
プロバイダー固有のパラメーターを渡す
静的パラメーターを渡す
options の authParams 要素を使用できます。以下の呼び出しでは、すべての認可リクエストに対して、custom_param という静的パラメーターが custom.param.value に設定されます。
動的パラメーターを渡す
options の authParamsMap 要素を使用して、Auth0 の /authorize エンドポイント で受け付けられる既存の追加パラメーターの 1 つと、IDプロバイダーで受け付けられるパラメーターとのマッピングを指定できます。
前述の例をそのまま使うと、認可エンドポイントに custom_param パラメーターを渡したい一方で、実際のパラメーター値は Auth0 の /authorize エンドポイントを呼び出す際に指定したいとします。
この場合は、/authorize エンドポイントで受け付けられる既存の追加パラメーター (access_type など) を 1 つ使用し、それを custom_param パラメーターにマッピングできます。
これで、/authorize エンドポイントの呼び出し時に、access_type パラメーターでアクセス種別を渡せるようになり、その値は custom_param パラメーターを介して認可エンドポイントに渡されます。
追加ヘッダーを渡す
Authorization ヘッダーを渡すよう求められるケースを例に見てみましょう。このシナリオでは、Custom Headers フィールドに次の JSON オブジェクトを指定できます。
[your credentials] は IDプロバイダーに実際に送信する認証情報です。