4.0
{doctitle}

1. WAMモジュール

iPLAss framework上で動作し、会員管理を行うモジュールです。会員管理機能として、認証機能、アカウント情報のセルフメンテナンス機能、コンテンツの閲覧権限チェック機能などを提供します。

1.1. 認証機能

コンシューマ向けサイトの会員認証を行います。 認証機能として、ID・パスワード認証、RememberMe機能、2段階認証、ソーシャルログインを提供します。

  • ID・パスワード認証
    mtp.auth.User エンティティとして管理するユーザー情報に対して、ID・パスワードで認証を行う機能を提供します。
    認証済みのセッション情報をCookieに格納し、一度認証すれば、2回目以降はユーザーIDとパスワードを入力しなくても直接サイトコンテンツへアクセスできるようになります。

  • RememberMe機能
    ログイン後、一定期間の間、認証情報の入力を省略するRemember Me機能を提供します。
    詳細はRemember Meを参照してください。

  • 2段階認証
    メールやSMSによるワンタイムコードによる認証、2段階認証アプリ(Google Authenticator等)による認証、あらかじめ設定した質問に対する答えでの認証、 X509規格に基づいたクライアント証明書での認証機能を提供します。
    詳細は2段階認証を参照してください。

  • ソーシャルログイン(ID連携)
    ログインするアカウントとして、iPLAss上で管理するユーザーではなく、SNSアカウントを利用する事ができます。 連携先として以下のSNSサービスが利用できます。

    • Facebook
      管理コンソールに設定する事でFacebookユーザーでのログインが可能となります。
      利用する場合はFacebookの設定が必要になります。

    • X(Twitter)
      管理コンソールに設定する事でX(Twitter)ユーザーでのログインが可能となります。
      利用する場合はX(Twitter)の設定が必要になります。

    • OpenID Connect準拠のサイト(Google、Yahoo!等)
      管理コンソールに設定する事でGoogle、Yahoo!などOpenID Connect準拠のサイトのユーザーでのログインが可能となります。
      利用する場合はGoogleまたはYahoo!もしくは汎用OpenID Providerの設定が必要になります。

    • SAML
      管理コンソールに設定する事でSAML準拠のIdPのユーザーでのログインが可能となります。
      利用する場合はSAMLの設定が必要になります。

1.2. セルフレジストレーション(およびアクティベーション)

新規ユーザー登録機能、およびメールアドレスのアクティベーション機能を提供します。ユーザー登録時のメールアドレスに対して、アクティベーションURLを通知します。アクティベーションURL押下時に起動画面にてパスワード設定後、ログイン可能となります。
PreferenceのsignUpを参照し、各項目を設定してください。

1.3. セルフメンテナンス

登録したユーザー情報をユーザー自らがメンテナンスする機能を提供します。また、メールアドレスを変更した場合、変更後のメールアドレスへアクティベーション用のURLを通知します。
Preferenceのsettingsを参照し、各項目を設定してください。

1.4. パスワードリカバリ

ユーザーがパスワードを忘れた際に、事前に設定されている秘密の質問へ回答することにより、ユーザーのメールアドレス宛にパスワードリセットURLを通知します。
Preferenceのrecoveryを参照し、各項目を設定してください。

1.5. WAMモジュールの設定

service-config

WAMモジュールを有効化するには、WamServiceが設定された wam-service-config.xml をincludeする必要があります。 設定方法については初期設定を参照してください。

Preference

WAMモジュールの設定にはPreference機能を利用します。

以下はデフォルトで提供しているWAMのPreferenceです。必要に応じて設定内容を変更してください。

wam/wamPreference

WAM全般の設定です。

Runtime Class Name
org.iplass.wam.api.WamPreference
項目 説明 初期値

wamUserIdentifierRole

WAMユーザーを識別するためのロール

WAM

homeUrl

認証後にリダイレクトされる画面のURL。
サイトのホームページを指定してください。iPLAssサーバー内のページである必要はありません。wam/index にサンプル実装が定義されています。

https://[your_apps_home_page_fqdn]/

customCssPath

独自のCSSを組み込みたい場合に指定します。 パスの先頭に ${contextPath} を指定した場合はテナントコンテキストパスに、 ${staticContentPath} を指定した場合は静的コンテントパスに置き換えられます。

faviconPath

faviconを設定したい場合に指定します。 パスの先頭に ${contextPath} を指定した場合はテナントコンテキストパスに、 ${staticContentPath} を指定した場合は静的コンテントパスに置き換えられます。

accountPolicy

サインアップ設定の initialAccountPolicy が未指定の場合に、作成されたユーザーに割り当てられるアカウントポリシー(認証ポリシー)です。

WAM

signUp

signUp参照

settings

settings参照

verification

verification参照

recovery

recovery参照

manageSite

manageSite参照

idProvider

idProvider(FaceBook)参照

idProvider

idProvider(X)参照

idProvider

idProvider(Google)参照

idProvider

idProvider(Yahoo)参照

signUp

サインアップ時の設定です。

項目 説明 初期値

accountIdProperty

ユーザーIDを直接入力させず、それ以外の項目をユーザーIDとして利用する場合に指定します。 例えば、メールアドレス(mail)のようなユーザーに対して一意となる項目を指定します。

listener

アクティベーション完了時に実行するリスナー。 org.iplass.wam.auth.signup.SignUpListener の実装クラス、またはGroovyScriptを指定します。

initialGroup

初期設定するグループのコード、複数指定可能。

WAM

activatedGroup

アクティベーション後に設定するグループのコード、複数指定可能。

initialAccountPolicy

初期設定するアカウントポリシー(認証ポリシー)

activatedAccountPolicy

アクティベーション後に設定するアカウントポリシー(認証ポリシー)

captcha

org.iplass.wam.auth.signup.Captcha の実装クラスを指定します。 標準で以下の実装を提供します。

org.iplass.wam.auth.signup.captchas.ReCaptcha

ReCAPTCHAを使用します。 version 項目に使用するバージョンを指定します。
使用可能なバージョンは、 V2V3ENTERPRISE_SCOREENTERPRISE_CHECKBOX です。

signUpLayoutName

登録時に利用する wam.auth.UserSignUp エンティティの詳細画面定義のレイアウト名(View名)

signUpLayout

activateByOutOfBandVerification

メール等を利用した本人確認を実施するかを指定します。

true

authenticationPolicyWithoutTwoStepVerification

2段階認証の有効化/無効化(2段階認証ポリシーの切り替え)で利用する認証ポリシー(2段階認証が設定されていない認証ポリシー)

authenticationPolicyWithTwoStepVerification

2段階認証の有効化/無効化(2段階認証ポリシーの切り替え)で利用する認証ポリシー(2段階認証が設定されている認証ポリシー)

settings

セルフメンテナンスで利用する設定です。

項目 説明 初期値

settingsLayoutName

個人情報の編集時に利用する mtp.auth.User エンティティの詳細画面定義のレイアウト名(View名)

showAuthApplication

セルフメンテナンス画面にアプリケーション情報を表示するかを指定します。
表示する設定にした場合、ユーザーに設定されているOAuthのクライアント情報のメンテナンス(削除)が可能になります。

true

showRememberMe

セルフメンテナンス画面に自動ログイン情報を表示するかを指定します。
表示する設定にした場合、ユーザーがRememberMeを設定しているか、また設定している場合にメンテナンス(削除)が可能になります。

true

verification

メール、SMSなどのユーザーの本人確認(アクティベーション)に利用する項目に関する設定です。

項目 説明 初期値

type

verification方式を一意に識別するための名称

email

propertyName

検証に利用する mtp.auth.User(および、wam.auth.UserSignUp)エンティティのプロパティ名

mail

verifier

アクティベーション処理時に利用するOutOfBandVerifierのverifier名

email

validDurationMinute

検証処理の有効期間(分)

1440

maxFailureCount

検証処理の最大失敗許容回数。-1を指定した場合はvalidDurationMinute間であれば何度でも失敗可能となります。

-1

recovery

パスワードリカバリに関する設定です。

項目 説明 初期値

propertyForSecretQuestion

パスワードリカバリで使用する秘密の質問となるプロパティ名。 複数指定可能。

lastName

propertyForSecretQuestion

同上

firstName

propertyForSecretQuestion

同上

mail

manageSite

管理対象サイトの設定です。サイト毎に設定します。

項目 説明 初期値

siteId

管理対象サイトを識別するIDを設定します。 WAMプラグインモジュールに設定したものと同じ文字列を設定します。

local

siteSecret

管理対象サイトのシークレットキーを設定します。 WAMプラグインモジュールに設定したものと同じ文字列を設定します。

123

siteDomain

管理対象サイトのドメイン名を設定します。

[homeUrlDomain]

httpsOnly

接続可能なプロトコルをhttpsのみに設定します。

false

mappingActionPath

管理対象サイトのコンテンツ閲覧権限チェックに利用されるiPLAssのAction権限設定で、Action名と管理対象サイトのコンテンツのURLパスをマッピングする際にAction名のprefixとして利用される文字列を設定します。

local

userInfoSupplier

org.iplass.wam.siteauth.UserInfoSupplier の実装クラスを指定します。ユーザー情報取得WebApiで返却する情報をカスタマイズする際に利用します。
未指定の場合、org.iplass.wam.siteauth.DefaultUserInfoSupplier が適用されます。DefaultUserInfoSupplierでは、 publicUserProperty で指定した mtp.auth.User エンティティのプロパティを返却するように実装されています。

publicUserProperty

ユーザー情報取得WebApiで返却するユーザー情報に含まれる mtp.auth.User エンティティのプロパティ名を指定します。複数指定可能です。

authCallbackUrl

WAM機能の認証フローにおいて、ログイン完了後にiPLAssから管理対象サイトへリダイレクトする際に使用されるURLです。 当該URLは、サイトコンテンツのURLに該当しない任意のURLを設定してください。

形式は以下の通りです。

http[s]://<サイトのドメイン名>/<任意のパス>

WAMプラグインモジュールにおける設定と異なり、URL全体(http[s]~)を記述する点に注意してください。 /<任意のパス> の部分をWAMプラグインモジュールの設定と一致させます。

http://[homeUrlDomain]/wamauthcallback

idProvider(Facebook)

Facebookのアカウントで認証を行う際の設定です。

Facebook側にはリダイレクト先として以下の3つのURLを設定してください。

http(s)://[server]/[appContext]/[tenantName]/wam/auth/idpcb
http(s)://[server]/[appContext]/[tenantName]/wam/signup/idpcb/[providerName]
http(s)://[server]/[appContext]/[tenantName]/wam/settings/idpcb/[providerName]
Runtime Class Name
org.iplass.wam.auth.idp.facebook.FacebookIdProvider
項目 説明 初期値

clientId

アプリで発行されたApp ID

yourClientId

clientSecret

アプリで発行されたApp Secret

yourClientSecret

iconUrl

ログイン画面表示用ラベルにロゴ画像を表示する場合に設定します。設定する値は画像のURLです。
URLの指定方法については、URLの指定を参照してください。

-

buttonLabel

ログイン画面表示用のラベル

<span> Facebook</span>

buttonStyle

ログイン画面表示用ラベルのスタイル

color: #3b5998

supportSelfRegistration

ユーザー自らIdProviderとの紐づけ、解除を設定可能とするか否か

true

idProvider(X)

X(Twitter)のアカウントで認証を行う際の設定です。

X(Twitter)側にはCallback先として以下の3つのURLを設定してください。

http(s)://[server]/[appContext]/[tenantName]/wam/auth/idpcb
http(s)://[server]/[appContext]/[tenantName]/wam/signup/idpcb/[providerName]
http(s)://[server]/[appContext]/[tenantName]/wam/settings/idpcb/[providerName]
Runtime Class Name
org.iplass.wam.auth.idp.twitter.TwitterIdProvider
項目 説明 初期値

consumerKey

アプリで発行されたコンシューマキー

yourConsumerKey

consumerSecret

アプリで発行されたコンシューマーシークレット

yourConsumerSecret

iconUrl

ログイン画面表示用ラベルにロゴ画像を表示する場合に設定します。設定する値は画像のURLです。
URLの指定方法については、URLの指定を参照してください。

-

buttonLabel

ログイン画面表示用のラベル

<span> Twitter</span>

buttonStyle

ログイン画面表示用ラベルのスタイル

color: #4099FF

supportSelfRegistration

ユーザー自らIdProviderとの紐づけ、解除を設定可能とするか否か

true

idProvider(Google)

Googleのアカウントで認証を行う際の設定です。

idProvider(Google)の替わりに、 idProvider(汎用OpenID Provider) を利用することを推奨します。認証連携におけるきめ細かな設定が可能です。

OpenID Provider側にはリダイレクト先として以下の3つのURLを設定してください。

http(s)://[server]/[appContext]/[tenantName]/wam/auth/idpcb
http(s)://[server]/[appContext]/[tenantName]/wam/signup/idpcb/[providerName]
http(s)://[server]/[appContext]/[tenantName]/wam/settings/idpcb/[providerName]
Runtime Class Name
org.iplass.wam.auth.idp.openidconnect.OpenIdConnectIdProvider
項目 説明 初期値

providerName

プロバイダ名

Google

authUri

認証先のURL

https://accounts.google.com/o/oauth2/v2/auth

tokenUri

トークンのURL

https://oauth2.googleapis.com/token

userInfoUri

ユーザー情報取得URL

https://openidconnect.googleapis.com/v1/userinfo

clientId

アプリで発行されたクライアントID

yourClientId

clientSecret

アプリで発行されたクライアントシークレット

yourClientSecret

iconUrl

ログイン画面表示用ラベルにロゴ画像を表示する場合に設定します。設定する値は画像のURLです。
URLの指定方法については、URLの指定を参照してください。

-

buttonLabel

ログイン画面表示用のラベル

<span> Google</span>

buttonStyle

ログイン画面表示用ラベルのスタイル

color: #dd4b39

supportSelfRegistration

ユーザー自らIdProviderとの紐づけ、解除を設定可能とするか否か

true

subjectName

ユーザーのフルネームの属性名

name

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(メールアドレス)

mail

profileAttributeName

プロバイダ側の属性値(メールアドレス)

email

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(ユーザーの名)

firstName

profileAttributeName

プロバイダ側の属性値(ユーザーの名)

given_name

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(ユーザーの姓)

lastName

profileAttributeName

プロバイダ側の属性値(ユーザーの姓)

family_name

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(ユーザーの言語)

language

profileAttributeName

プロバイダ側の属性値(ユーザーの優先ロケール)

locale

idProvider(Yahoo)

Yahoo!のアカウントで認証を行う際の設定です。

idProvider(Yahoo)の替わりに、 idProvider(汎用OpenID Provider) を利用することを推奨します。認証連携におけるきめ細かな設定が可能です。

OpenID Provider側にはリダイレクト先として以下の3つのURLを設定してください。

http(s)://[server]/[appContext]/[tenantName]/wam/auth/idpcb
http(s)://[server]/[appContext]/[tenantName]/wam/signup/idpcb/[providerName]
http(s)://[server]/[appContext]/[tenantName]/wam/settings/idpcb/[providerName]
Runtime Class Name
org.iplass.wam.auth.idp.openidconnect.OpenIdConnectIdProvider
項目 説明 初期値

providerName

プロバイダ名

Yahoo!

authUri

認証先のURL

https://auth.login.yahoo.co.jp/yconnect/v2/authorization

useNonce

リプレイアタック対策有無を設定

true

tokenUri

トークンのURL

https://auth.login.yahoo.co.jp/yconnect/v2/token

tokenEndPointAuthType

トークンエンドポイント認証タイプ固定文字列(初期値から変更不要)

BASIC

clientId

アプリで発行されたクライアントID

yourClientId

clientSecret

アプリで発行されたクライアントシークレット

yourClientSecret

userInfoUri

ユーザー情報取得URL

https://userinfo.yahooapis.jp/yconnect/v2/attribute

subjectName

ユーザーのフルネームの属性名

name

iconUrl

ログイン画面表示用ラベルにロゴ画像を表示する場合に設定します。設定する値は画像のURLです。
URLの指定方法については、URLの指定を参照してください。

-

buttonLabel

ログイン画面表示用のラベル

<span> Yahoo!</span>

buttonStyle

ログイン画面表示用ラベルのスタイル

color: #ff0033

supportSelfRegistration

ユーザー自らIdProviderとの紐づけ、解除を設定可能とするか否か

true

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(メールアドレス)

mail

profileAttributeName

プロバイダ側の属性値(メールアドレス)

email

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(ユーザーの名)

firstName

profileAttributeName

プロバイダ側の属性値(ユーザーの名)

given_name

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(ユーザーの姓)

lastName

profileAttributeName

プロバイダ側の属性値(ユーザーの姓)

family_name

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定

-

propertyName

User エンティティのプロパティ(ユーザーの言語)

language

profileAttributeName

プロバイダ側の属性値(ユーザーの優先ロケール)

locale

idProvider(汎用OpenID Provider)

OpenID Connect準拠のOpenID Providerのアカウントで認証を行う際の設定です。 認証連携における詳細の設定は OpenIDConnect定義 にて行います。

OpenID Provider側にはリダイレクト先として以下の3つのURLを設定してください。

http(s)://[server]/[appContext]/[tenantName]/wam/auth/idpcb
http(s)://[server]/[appContext]/[tenantName]/wam/signup/idpcb/[providerName]
http(s)://[server]/[appContext]/[tenantName]/wam/settings/idpcb/[providerName]
Runtime Class Name
org.iplass.wam.auth.idp.oidc.OpenIdConnectIdProvider
項目 説明 設定例

providerName

プロバイダ名

okta

definitionName

OpenIDConnect定義の定義名

okta

definitionNameResolver

org.iplass.wam.auth.idp.oidc.OpenIdConnectDefinitionNameResolver の実装クラスを指定します。 OpenIDConnect定義名を動的に解決したい場合に利用します。
未指定の場合はdefinitionNameに指定されたOpenIDConnect定義が利用されます。

sample.CustomDefinitionNameResolver

iconUrl

ログイン画面表示用ラベルにロゴ画像を表示する場合に設定します。設定する値は画像のURLです。
URLの指定方法については、URLの指定を参照してください。

path/to/icon.png

buttonLabel

ログイン画面表示用のラベル

<span>Okta</span>

buttonStyle

ログイン画面表示用ラベルのスタイル

color: #007dc1

supportSelfRegistration

ユーザー自らIdProviderとの紐づけ、解除を設定可能とするか否か

true

attributeMapping

プロバイダ側のプロフィールの属性値と iPLAss上の User エンティティのプロパティの値をマッピングする設定。attributeMappingは複数の設定が可能。

propertyName

User エンティティのプロパティ名を指定

mail

profileAttributeName

プロバイダ側の属性名を指定

email

idProvider(SAML)

SAML準拠のID Providerのアカウントで認証を行う際の設定です。 認証連携における詳細の設定は SAML定義(ServiceProviderの設定) にて行います。

なお、SAMLIdProviderはユーザー自身によるアカウントの紐づけ、解除操作には対応しておりません。事前のプロビジョニング、もしくはAutoUserProvisioningHandlerの仕組みにてJITプロビジョニングする必要があります。

Runtime Class Name
org.iplass.wam.auth.idp.saml.SamlIdProvider
項目 説明 設定例

providerName

プロバイダ名

okta

definitionName

SAML定義の定義名

okta

definitionNameResolver

org.iplass.wam.auth.idp.saml.SamlDefinitionNameResolver の実装クラスを指定します。 SAML定義名を動的に解決したい場合に利用します。
未指定の場合はdefinitionNameに指定されたSAML定義が利用されます。

sample.CustomDefinitionNameResolver

iconUrl

ログイン画面表示用ラベルにロゴ画像を表示する場合に設定します。設定する値は画像のURLです。
URLの指定方法については、URLの指定を参照してください。

path/to/icon.png

buttonLabel

ログイン画面表示用のラベル

<span>Okta</span>

buttonStyle

ログイン画面表示用ラベルのスタイル

color: #007dc1

1.6. 初期設定

WAMモジュールを利用する際には以下の設定が必要となります。

WAMモジュールの追加

mtp-service-configの編集

mtp-service-configに以下を追記し、WAMモジュールの設定ファイルを読み込めるようにします。 iplass-ee-skeletonを利用している場合は該当箇所のコメント化を解除します。

<inherits>/wam-service-config.xml</inherits>
build.gradleの編集

build.gradleに以下を追記し、WAMモジュールを実行時の依存関係に追加します。 iplass-ee-skeletonを利用している場合は該当箇所のコメント化を解除します。

runtime group: 'org.iplass.ee', name: 'iplass-ee-wam', version: iPLAssVersion

追記後、プロジェクトのコンテキストメニューから Gradleプロジェクトのリフレッシュ を行ってください。

アカウントポリシーの追加

WAMを利用してユーザーアカウントを登録する際に適用するアカウントポリシー(認証ポリシー)を作成します。 アカウントポリシーの名前はPreferenceinitialAccountPolicy で指定した値(デフォルト値 : WAM)にします。

initialAccountPolicy として利用するアカウントポリシーでは、次の設定を有効化する必要があります。

Create Account with Specific Password

パスワードリカバリ機能を利用する場合、PreferenceactivatedAccountPolicy(未指定の場合は initialAccountPolicy)に設定されているアカウントポリシーでは、次の設定を有効化する必要があります。

Reset Password with Specific Password

権限設定

AdminConsoleのPermissionExplorer等を利用して、WAMを利用するユーザーのための権限設定を行います。

グループ

WAMユーザーが登録時に所属するグループを作成します。 グループのコードはPreferencesignUp > initialGroup で指定した値(デフォルト値 : WAM)にします。

ロール

WAMユーザー用のロールを作成します。 ロールのコードはPreferencewamUserIdentifierRole で指定した値(デフォルト値 : WAM)にします。

ロール条件を追加し、前項で作成したグループに所属していることを条件にします。

user.memberOf("WAM")
Entity権限

WAMユーザーがWAMを利用する上で必要となる最低限のEntity権限を設定します。 ここで対象とするEntity以外の権限については、アプリケーションの要件にあわせて適宜設定してください。

Entity 参照権限 登録権限 更新権限 削除権限

mtp.auth.Group

mtp.auth.Rank

mtp.auth.User

Action権限

WAMユーザーが利用するWAMモジュールのActionに対して権限を設定します。 wam 配下の全てのActionに対して許可を設定するため、PermissionExplorerのActionPermissionにて、WAMユーザー用のロールの列と wam の階層フォルダが交差するセルをクリックし、Nameに適切な名前を設定してOKボタンを押してください。

画面定義

WAMユーザーが自身の情報を更新するための画面で利用するユーザー情報(mtp.auth.User)の詳細画面定義(DetailView)を作成してください。 View名はPreferencesettings > settingsLayoutName で指定した値にします。

なお、この詳細画面定義(DetailView)ではユーザーに必要以上の項目を編集させないよう注意してください。 例えば、権限に絡む項目(グループ、ランク、アカウントポリシー等)を更新してしまった場合、それ以降WAMの画面が操作できなくなる可能性があります。

Preference

Admin ConsoleのPreference設定画面で wam/wamPreference の設定を行います。各項目の詳細はPreferenceを参照してください。

wam preference

管理対象サイト用Action権限

WAM機能では、管理対象サイトのコンテンツ閲覧権限チェックをAction権限を用いて行います。
Action名と管理対象サイトのコンテンツのURLパスをマッピングする際、Preferenceの当該管理対象サイトの manageSite > mappingActionPath の値がAction名のprefixとして利用されます。

例)下記URLの管理対象サイトのコンテンツの閲覧制御する場合

当該管理対象サイトの manageSite > mappingActionPath の値が local だった場合には、以下のAction名としてAction権限がチェックされます。

local/demo/test
バインド変数

Action権限の許可条件の設定において、 parameter には管理対象サイトのコンテンツ閲覧時のURLのクエリパラメータがバインドされます。

def value = parameter.クエリパラメータのキー

def value = parameter.getValue("クエリパラメータのキー")

request.externalResourceParameter には org.iplass.wam.siteauth.URIExternalResourceParameter のインスタンスがバインドされます。
JSON形式の requestInfo をパラメータに含めてWAMの権限チェックWebApiを呼び出すことで、以下のような許可条件を設定することができます。
また、許可条件で request.externalResourceParameter.responseStatus に任意の戻り値を指定することで、条件に沿った戻り値が返却されます。

if(request.externalResourceParameter.requestInfo.get("clientIp").equals("xxx.xxx.xxx.xxx")){ request.externalResourceParameter.responseStatus = "IP_ALLOW"; true;}
(例)

ユースケースとして、 「特定のURLパス配下(denytest/*)のコンテンツを、特定のグループ(グループコード : wam_allow)に所属しているユーザーが閲覧可能にする」 といった制御を行う場合の設定方法を説明します。

  • グループ

グループ(グループコード : wam_allow)を作成します。

wam auth 1

特定のURLパス配下(denytest/*)のコンテンツを参照可能としたいユーザー(サイト会員)を作成したグループに所属させます。

wam auth 2
  • ロール

制御用ロール(ロールコード : wamrole)を作成します。
ロール条件を追加し、前項で作成したグループに所属していることを条件にします。

wam auth 3
  • Action権限設定

最後に作成したロールに対するAction権限を設定します。
特定のロール(ロールコード : wamrole) を持つユーザーに対して、 denytest/* パスに対するアクセスを許可する設定をしています。

Action名のprefixには、実際のPreferenceの当該管理対象サイトの manageSite > mappingActionPath の値を設定してください。以下の例では、 local が設定されている前提です。

wam auth 4

ユーザー情報取得WebApi

WAMモジュールでは、ユーザー情報(サイト会員)の取得が可能なWebApi(wam/auth/user)を標準で提供しています。

サイトID(パラメータ名 : siteid) 、サイトシークレット(パラメータ名 : sitesecret) をパラメータに含めてユーザー情報取得WebApiを呼び出すと、Preferenceの当該管理対象サイトの manageSite > publicUserProperty の設定に基づきユーザー情報を返却します。

ユーザー情報取得WebApiを利用するかつ、クロスオリジンでのWebApi呼び出しとなる場合には、 Admin ConsoleのWebApi画面で wam/auth/user を開き、 Access-Control-Allow-Credentials にチェックを入れて Access-Control-Allow-Origin にサイト側のオリジンを設定する必要があります。

wam webapi