OpenAM 13の新機能を試してみた(1) - 2段階認証
今年のQ4にリリースが予定されているOpenAM 13ですが、Nightly Build版で新機能を試せそうな状態だったので動作を確認してみました。
なお、新機能についてはSNAPSHOT版のリリースノートに一覧が書かれ始めています。
今回のエントリでは2段階認証(Two Step Verification) の新機能について簡単に紹介。
※2015/10/06時点のNightly Build版で確認しています。
2段階認証(Two Step Verification) の新機能
OpenAM 12でも、OTPを使った認証モジュールと組み合わせることで2段階認証自体は可能でした。OpenAM 13からは、デバイス登録の機能も組み込まれたようです。詳細はSNAPSHOT版のマニュアルに書かれていますが、初回ログイン>QRコードでデバイス登録>デバイスでOTP発行してログイン というよくある初期登録のフローがOpenAM単体でできるようになっています。
Nightly Build版で動作確認
Nightly Build版をダウンロードしてインストールし、Procedure 2.10. To Create an Authentication Chain for Two Step Verificationの通りに設定してもまだ動作せず。
エラー情報とソースをしばらく眺めるとちょいと変更すれば動作しそうだったので試してみた。結論から言うと、デバイス登録とOTPによるログインのフローを動作させることはできました。
動作確認
設定時の注意点
Procedure 2.10. To Create an Authentication Chain for Two Step Verification通りなのだが、認証モジュールは ForgeRock Authenticator (OATH) を選ぶこと(OATHだと駄目)。
その他注意点
Nightly Build版で動作させるための修正点
Nightly Build版で動作させるための変更内容についても書いておきます。HTMLファイルを置くだけでいいので、OpenAMのビルドは不要です。正式リリースまでにはきっと直るはず。
- (OPENAM_WAR)/XUI/templates/openam/authn/ 以下に AuthenticatorOATH2.html を作成。
<div class="container" id="oath-container"> {{#if reqs.header}} <div class="page-header"> <h1 class="text-center">{{reqs.header}}</h1> </div> {{/if}} <form action="" method="post" class="form col-sm-6 col-sm-offset-3" autocomplete="off"> <fieldset> {{#each reqs.callbacks}} <div class="form-group"> {{callbackRender}} </div> {{/each}} </fieldset> </form> </div>
- 同じ内容で、AuthenticatorOATH4.html、AuthenticatorOATH5.html、AuthenticatorOATH7.htmlを同フォルダに作成。