Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

Shibboleth IdP 4.1以降では本体にTOTPプラグインがモジュールとして提供されておりますので、そちらの使用をお勧めします。本ページは4.0.xにて動作検証を行ったものです。

1. はじめに

Shibboleth IdPでの認証において、Google Authenticatorなど、TOTPに対応したデバイス/アプリのワンタイムパスワードを追加で必要とするように変更します。

...

Note

本IdPプラグインの添付されたバージョンでは登録できるデバイスの数を1個のみに制限し二要素認証としての効力を確保するものとなります。登録手続きにはIPアドレス等による制限はかかりません。

このままでの運用に不都合がある場合は、登録手続きにアクセス制限をかけた上で個数制限を緩和することをご検討ください。


Note

本TotpフローをExtendedフローの中で使用しようとしてもうまくいきません(Totpを選択してもID・パスワード欄が表示されません)。認証フローを組み合わせたい場合はMFAフローをご検討ください。

...

Code Block
@@ -23,6 +23,8 @@
     <bean id="shibboleth.authn.Password.PasswordFieldName" class="java.lang.String" c:_0="j_password" />
     <bean id="shibboleth.authn.Password.SSOBypassFieldName" class="java.lang.String" c:_0="donotcache" />
 
+    <util:constant id="shibboleth.authn.Password.RemoveAfterValidation" static-field="java.lang.Boolean.FALSE"/>
+
     <!-- Simple transforms to apply to username before validation. -->
     <util:constant id="shibboleth.authn.Password.Lowercase" static-field="java.lang.Boolean.FALSE"/>
     <util:constant id="shibboleth.authn.Password.Uppercase" static-field="java.lang.Boolean.FALSE"/>


最後に、Jettyを起動したまま/opt/shibboleth-idp/bin/build.shを実行し、WARファイル再作成およびデプロイします。
最後にJettyの再起動を行います。

Panel
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

# /opt/shibboleth-idp/bin/build.sh
Buildfile: /opt/shibboleth-idp/bin/build.xml
build-war:
Installation Directory: [/opt/shibboleth-idp] ?
[Enter] ←入力なし

# systemctl restart jetty



...

3. 手順書

以下は、利用するTOTPプラグインの開発元のURLです。詳細にご興味がある方はご参照ください。
Shibboleth IdPバージョン3.2対応のものであるため、4以降で実行するためには上記のパッケージおよび手順が必要となります。

...