Skip to content

Commit 1fc2b2d

Browse files
Add consent management documentation and settings
1 parent 08490f0 commit 1fc2b2d

4 files changed

Lines changed: 174 additions & 0 deletions

File tree

developerguide/src/docs/asciidoc/wam/webaccountmanager/index.adoc

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,141 @@ Preferenceの<<wam_wampreference_settings,settings>>を参照し、各項目を
5454
ユーザーがパスワードを忘れた際に、事前に設定されている秘密の質問へ回答することにより、ユーザーのメールアドレス宛にパスワードリセットURLを通知します。 +
5555
Preferenceの<<wam_wampreference_recovery,recovery>>を参照し、各項目を設定してください。
5656

57+
=== 同意管理
58+
利用規約やプライバシーポリシーなどの同意コンテンツに対するユーザーの同意を管理する機能を提供します。
59+
60+
* 同意コンテンツのバージョン管理 +
61+
同意コンテンツはSIMPLE_TIMEBASEバージョン管理により管理されます。規約改訂時は新バージョンを登録するだけで自動的に現行版となり、過去バージョンも保持されるため監査が可能です。
62+
63+
* ログイン時の同意チェック +
64+
認証済みユーザーのリクエストに対して未同意の必須書類が存在する場合、自動的に同意画面へリダイレクトします。全ての必須書類に同意するまでサービスの利用はできません。
65+
66+
* サインアップ時の同意チェック +
67+
新規ユーザー登録画面に同意コンテンツが表示されます。必須書類に同意しないと登録が完了できません。
68+
69+
* セルフメンテナンス画面での同意管理 +
70+
セルフメンテナンス画面から、全同意コンテンツの同意状況を確認できます。任意書類に対してはオプトイン(同意付与)/オプトアウト(同意取消)が可能です。
71+
72+
Preferenceの<<wam_wampreference_consent,consent>>を参照し、各項目を設定してください。
73+
74+
同意管理機能では次のEntityを利用します。
75+
76+
.ConsentContent Entity
77+
同意コンテンツ(利用規約・プライバシーポリシー等)を管理するEntityです。
78+
79+
----
80+
Entity定義名: wam.consent.ConsentContent
81+
バージョン管理: SIMPLE_TIMEBASE
82+
----
83+
84+
同意コンテンツをメンテナンスするためには、GEM/MDCにてEntityViewの設定を行い、画面から操作可能な状態にします。
85+
バージョン管理はSIMPLE_TIMEBASE方式を採用しており、有効期間(startDate/endDate)に基づいて、現在有効なバージョンが自動的に決定されます。
86+
規約等の改訂時には、新しいバージョンをINSERTし、startDateを設定するだけで自動的に現行版として適用されます。
87+
また、過去バージョンもEntityとして保持されるため、監査対応も可能です。
88+
さらに、ワークフロー機能と組み合わせることで、承認済みのコンテンツのみを公開する運用とすることも可能です。
89+
90+
[cols="1,1,4", options="header"]
91+
|===
92+
|プロパティ名
93+
|型
94+
|説明
95+
96+
|name
97+
|String
98+
|同意コンテンツの識別名(例: `termsOfService`、`privacyPolicy`)
99+
100+
|contentType
101+
|Select
102+
|コンテンツの種別。以下のいずれかを指定します。 +
103+
`SIMPLE`: チェック項目のみ(本文なし) +
104+
`DOCUMENT`: インラインドキュメント(HTML本文) +
105+
`FILE`: バイナリファイル +
106+
`EXTERNAL`: 外部URL
107+
108+
|content
109+
|String
110+
|コンテンツ本文(HTML)。`contentType` が `DOCUMENT` または `SIMPLE` の場合に使用します。
111+
112+
|externalContentUrl
113+
|String
114+
|外部コンテンツのURL。`contentType` が `EXTERNAL` の場合に使用します。
115+
116+
|contentFile
117+
|Binary
118+
|コンテンツファイル。`contentType` が `FILE` の場合に使用します。
119+
120+
|required
121+
|Boolean
122+
|この同意コンテンツへの同意がサービス利用に必須かを指定します。 +
123+
`true`(デフォルト)の場合、未同意ユーザーは同意画面へリダイレクトされます。 +
124+
`false` の場合、未同意であってもサービス利用が可能です(任意同意)。
125+
126+
|showOnLogin
127+
|Boolean
128+
|ログイン時にこのコンテンツの同意確認を表示するかを指定します。 +
129+
`true` の場合、`required` が `false` であっても、未確認時にログイン後の同意画面に表示されます。
130+
131+
|changeSummary
132+
|String
133+
|バージョンアップ時の変更内容の概要。再同意画面でユーザーに変更内容を提示する際に使用されます。
134+
135+
|displayOrder
136+
|Integer
137+
|画面上の表示順序。値が小さいほど先に表示されます。未設定の場合は末尾に表示されます。
138+
|===
139+
140+
.UserConsent Entity
141+
ユーザーの同意記録を管理するEntityです。
142+
143+
----
144+
Entity定義名: wam.consent.UserConsent
145+
----
146+
147+
[cols="1,1,4", options="header"]
148+
|===
149+
|プロパティ名
150+
|型
151+
|説明
152+
153+
|user
154+
|Reference
155+
|同意したユーザー(`mtp.auth.User` への参照)
156+
157+
|userOid
158+
|String
159+
|検索用のユーザーOID
160+
161+
|consentContent
162+
|Reference
163+
|同意対象のConsentContent(RECORD_BASE参照)。同意時点のバージョンが固定保持されます。
164+
165+
|consented
166+
|Boolean
167+
|同意状態。`true`: 同意済み、`false`: 非同意(オプトアウト)
168+
169+
|respondedDate
170+
|Timestamp
171+
|同意もしくは非同意の回答日時
172+
|===
173+
174+
.同意管理の動作概要
175+
176+
. 同意チェック(ログイン後): +
177+
`ConsentCheckInterceptor` が認証済みユーザーのリクエストをインターセプトし、未同意の必須書類(または `showOnLogin=true` の書類)が存在する場合、同意画面(`wam/consent/view`)へリダイレクトします。 +
178+
セッション有効中は一度チェックが完了すると再チェックは行われません(次回ログイン時に再検知)。
179+
180+
. サインアップ時: +
181+
新規ユーザー登録画面に `required=true` または `showOnLogin=true` の同意コンテンツが表示されます。必須書類の全てに同意しないと登録は完了できません。
182+
183+
. セルフメンテナンス画面: +
184+
アカウント設定画面の同意管理ページ(`wam/settings/changeConsentView`)から、全同意コンテンツの同意状況を確認できます。 +
185+
任意書類(`required=false`)に対してはオプトイン(同意付与)/オプトアウト(同意取消)が可能です。必須書類のオプトアウトはできません。
186+
187+
. バージョン更新時: +
188+
ConsentContentの新バージョンが有効になると、既存の同意記録のバージョンと現行バージョンが不一致となり、次回ログイン時に再同意が求められます。 +
189+
`changeSummary` に変更内容を記載することで、再同意画面でユーザーに変更点を提示できます。
190+
191+
57192
include::setting.adoc[]
58193

59194
include::setup.adoc[]

developerguide/src/docs/asciidoc/wam/webaccountmanager/setting.adoc

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ org.iplass.wam.api.WamPreference
8989
|idProvider
9090
|<<wam_wampreference_idProvider_yh,idProvider(Yahoo)>>参照
9191
|
92+
93+
|consent
94+
|<<wam_wampreference_consent,consent>>参照
95+
|
96+
9297
|===
9398

9499
[[wam_wampreference_signUp]]
@@ -231,6 +236,34 @@ ReCAPTCHAを使用します。 `version` 項目に使用するバージョンを
231236
|mail
232237
|===
233238

239+
[[wam_wampreference_consent]]
240+
.consent
241+
同意管理機能の設定です。
242+
243+
[cols="1,4,1", options="header"]
244+
|===
245+
|項目
246+
|説明
247+
|初期値
248+
249+
|enabled
250+
|同意管理機能の有効/無効を設定します。 +
251+
`true` に設定すると、ログイン後のリクエストに対して未同意チェックが有効になります。
252+
|false
253+
254+
|excludeActionPatterns
255+
|同意チェックを除外するActionパターン(正規表現)を指定します。複数指定可能です。 +
256+
ここで指定したパターンに一致するActionに対しては、未同意状態でもリダイレクトが行われません。 +
257+
デフォルトで `wam/auth/\*`、`wam/signup/\*`、`wam/consent/\*` 等の認証・サインアップ・同意関連Actionは除外されています。
258+
|
259+
260+
|cacheReloadIntervalSeconds
261+
|ConsentContent Entityのキャッシュのリロード間隔(秒)を指定します。 +
262+
0以下の場合はキャッシュが無期限(Entity更新まで)となります。 +
263+
規約の更新頻度に応じて適切な値を設定してください。
264+
|0
265+
|===
266+
234267
[[wam_wampreference_manageSite]]
235268
.manageSite
236269
管理対象サイトの設定です。サイト毎に設定します。

overview/src/docs/asciidoc/index_en.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,9 @@ In addition, the functionalities like mail activation while signing up, and the
186186
==== [.eeonly]#Password Reminder#
187187
We provides the tool-pages to reset passwords for the users who forget about their own passwords.
188188

189+
==== [.eeonly]#Consent Management#
190+
Provides functionality to manage user consent for consent contents such as terms of service and privacy policies.
191+
189192
==== [.eeonly]#Static Contents Access Control#
190193
iPLAss provide the feature of access management on static sites, contents (or the dynamic contents output to CMS servers.) When anonymous user trying to access the limited static contents, they are redirected to the iPLAss login pages. In the case of a logged in user, the system will check whether the user possesses the authority.
191194
There is no problem to have iPLAss deployed on a different server/ domain from the contents in need for protections.

overview/src/docs/asciidoc/index_ja.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ Facebook、X(Twitter)などのアカウントでログインする機能を
210210
==== [.eeonly]#パスワードリマインダ#
211211
パスワードを失念したユーザーが自らのパスワードをリセットするための機能、画面を提供します。
212212

213+
==== [.eeonly]#同意管理#
214+
利用規約やプライバシーポリシーなどの同意コンテンツに対するユーザーの同意を管理する機能を提供します。
215+
213216
==== [.eeonly]#静的コンテンツへのアクセス制御#
214217
静的サイト、コンテンツ(もしくは動的にコンテンツを出力するCMSサーバなど)へのアクセスをiPLAssで管理する機能を提供します。
215218
閲覧制限されるコンテンツを表示しようとした場合、未ログインユーザーの場合は、iPLAssログイン画面にリダイレクトします。

0 commit comments

Comments
 (0)