id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	include_gantt	dependencies	due_assign	due_close
132	OpenID 認証機能 | OpenID による認証を許可する	n-nishimura	mn	"= OpenID による認証を許可する =
== 概要 ==
任意の Relying Party(以下、RP) から OpenID での認証を求められた場合、ユーザは認証を承諾することができる

== シナリオ ==

 1. RP は、システムに認証を要求する
 1. システムは、ユーザが未サインイン状態ならサインイン処理を開始する
 1. システムは、サインインしたユーザに認証の確認画面を表示する
 1. ユーザは、認証を承諾する
 1. システムは、RP に認証の承諾を通知する

== 仕様 ==
RP から認証を要求された場合、システムは以下の確認を行う

 - 指定された OpenID アカウントでサインインしている
    - サインインしていない場合は、サインイン処理に委譲する
 - 既に承認されていない

既に承認されている場合は、RP 側に承諾を通知して処理を完了する[[BR]]
また、別アカウントでサインインしている場合は、サインアウトを促すメッセージを表示して、認証処理を中断する


上記が満されている場合、認証の確認画面を表示する。[[BR]]
認証の確認画面では、以下の項目を表示する。

 - 確認する OpenID アカウントの URL
 - 要求元の URL
 - 「今回だけ許可」ボタン
 - 「永続的に許可」ボタン
 - 「キャンセルする」

今回だけ許可した場合、システムは以下の動作を行う

 - RT 側に許可された事を通知する
 - RT を許可した情報を保存する
   - 次回以降に許可にならないように日付を保持する

永続的に許可した場合、システムは以下の動作を行う

 - RT 側に許可された事を通知する
 - RT を許可した情報を保存する

キャンセルした場合、システムは以下の動作を行う

 - RT 側にキャンセルした事を通知する

それぞれ RT 側への通知は OpenID の仕様に準拠して行う


また、RP から個人情報(SREG)を要求された場合、以下の項目を追加で表示する

 - 個人情報の登録名
 - ニックネーム
 - 氏名
 - メールアドレス
 - 生年月日
 - 性別
 - 郵便番号
 - 国籍
 - 言語
 - タイムゾーン

登録名はセクレクボックスで表示し、任意の個人情報を切り替えて表示する。[[BR]]

また、セレクトボックスの初期選択の仕様は以下とする。

 - 以前に設定された個人情報
 - 以前に設定されていなければ、初期設定に指定されている個人情報

"	仕様	new	各マイルストーンで解決する	Iterate8(2/21)	OpenID server					0		YYYY/MM/DD	YYYY/MM/DD
