|
| ① |
ユーザーは、フォワーダの後段にあるWebアプリケーションにアクセスを試みます。 |
| ② |
フォワーダはユーザーが未認証の場合、ログイン画面を表示します。フォワーダは、このログイン画面にhidden属性で最終目的URL(WebアプリケーションのURL)を埋め込みます。 |
| ③ |
ユーザーは、ユーザーID・パスワード・OTPをフォームに入力後、「ログイン」ボタンを押します。これらの値と最終目的URLは、VIPログインモジュールに送信されます。 |
| ④ |
VIPログインモジュールは、受信したユーザーIDを検索キーにしてトークンIDを取得します。 |
| ⑤ |
VIPログインモジュールは、③で受信したOTPと、④で取得したトークンIDをVIPへ送信します。
VIPはOTPを検証し、その検証結果を返します。 |
| ⑥ |
VIPログインモジュールは、⑤の検証結果が「Success」の場合、認証モジュールにログイン要求(③で受信したユーザーID、パスワード)を送信します。認証モジュールは、パスワードを検証し、パスワードが正しい場合はセッションIDを発行して返します。 |
| ⑦ |
OTP検証サーバーは、以下のHTTPレスポンスを返します。
・⑥で取得したセッションIDをSet-Cookieするヘッダー
・③で受信した最終目的URLへリダイレクトするLocationヘッダー |
| ⑧ |
ブラウザはLocationヘッダーに従い、最終目的URLへリダイレクトします。また、セッションIDを保持するCookieヘッダーを送信します。 |
| ⑨ |
フォワーダは、受信したセッションIDが有効か、認証モジュールに問い合わせます。認証モジュールは、セッションIDが有効な場合「OK」を返します。 |
| ⑩ |
フォワーダは、セッションIDが有効な場合、リクエストをWebアプリケーションに転送します。 |