ジャストインタイムプロビジョニングの API

AEM Forms で提供するジャストインタイムプロビジョニングの API を次に示します。

package com.adobe.idp.um.spi.authentication  ;
publ ic interface IdentityCreator {
/**
* Tries  to create a user with the  in formation  provided in the <code>UserProvisioningBO</code> object.
* If the user is successfully created, a valid AuthResponse is returned along with the information using which the user was created.
* It is the responsibility of the IdentityCreator to set the User obje ct  in the cre dential map with th e  ke y  <code>UMA u thenticationUtil.authenticatedUserKey</code>
* The credentials are available in the <code>UserProvisioningBO</code> object in the 'credentials' property.
* If the IdentityCreator is unable to create a user due to any reason, it returns <code>null</code>
* @param userBO An object of <code>com.adobe. i dp.um . spi.authenti c ationUserProvisioningBO</code>
* @return */public AuthResponse create(UserProvisioningBO userBO);
/**
* Returns the name of the IdentityCreator which will be registered in preferences.
* This name is used to associate the IdentityProvider with the Auth Provider Configuration in the domain.
* @return The name of the Identity Creator which is recognized in Configuration.
*/
public String getName();
}
package com.adobe.idp.um.spi.authentication;
import com.adobe.idp.um.api.infomodel.User;
public interface AssignmentProvider {
/**
* Tries to assign roles or permissions or group memberships to users created via Just-in-time provisioning.
* @param user The User created via the Just-in-time provisioning process.
* @return a Boolean flag indicating whether the assignment was successful or not.
*/
public Boolean assign(User user);
/**
* Returns the name of the AssignmentProvider through which it is registered under preferences.
* This name is used to associate the AssignmentProvider with the Auth Provider Configuration in the domain.
* @return The name of the AssignmentProvider which is recognized in Configuration.
*/public String getName();
}

ジャストインタイムが有効なドメインを作成する際の考慮事項

  • ハイブリッドドメインのカスタム IdentityCreator を作成する際に、ローカルユーザーにダミーのパスワードが指定されていることを確認します。このパスワードフィールドを空白のままにしないでください。
  • 推奨事項:DomainSpecificAuthentication を使用して、特定のドメインに対するユーザーの資格情報を検証します。

ジャストインタイムが有効なドメインの作成

  1. 「ジャストインタイムプロビジョニングの API」の節にある、DSC による API の実装を記述します。

  2. DSC を Forms サーバーにデプロイします。

  3. ジャストインタイムが有効なドメインを作成します。

    • 管理コンソールで、設定/User Management/ドメインの管理/新規エンタープライズドメインをクリックします。
    • ドメインを設定し、「ジャストインタイムプロビジョニングを有効にする」を選択します。
    • 認証プロバイダーを追加します。認証プロバイダーを追加する際に、新規認証画面で、登録された「ID 作成者」および「割り当てプロバイダー」を選択します。
  4. 新しいドメインを保存します。

機能の仕組み

ユーザーが AEM Forms にログインを試みて、認証プロバイダーがユーザーの秘密鍵証明書を受け入れるとします。ユーザーがまだ User Management データベースに存在していない場合、ユーザーの ID 確認は失敗します。このとき、AEM Forms は次のアクションを実行します。

  1. 認証データを持つ UserProvisioningBO オブジェクトを作成し、資格情報マップに配置します。
  2. UserProvisioningBO によって返されるドメイン情報に基づいて、ドメインの登録された IdentityCreator および AssignmentProvider を取得して呼び出します。
  3. IdentityCreatorを呼び出します。正常な AuthResponse が返される場合、資格情報マップから UserInfo を抽出します。ユーザー作成後のグループ/ロールアサインおよびその他の後処理のために AssignmentProvider に渡します。
  4. ユーザーが正常に作成されると、成功としてユーザーのログイン試行を返します。
  5. ハイブリッドドメインの場合、認証プロバイダーに提供された認証データからユーザー情報を引き出します。この情報が正常に取得されると、ユーザーがオンザフライで作成されます。
NOTE
ジャストインタイムプロビジョニング機能は、動的にユーザーを作成するために使用できる IdentityCreator のデフォルトの実装に付属しています。ユーザーは、ドメインのディレクトリに関連付けられている情報を使用して作成されます。
前のページユーザーの追加および設定
次のページグループの作成および設定

Experience Manager