Shibboleth IdP 3.3より導入されたMultiFactor認証フローを用いた認証設定についてのドキュメントです。本ドキュメントはSAML 2.0で認証の切り替えを行うことを目的としており、SAML1は対象外です(LevelXを用いた認証要求はできません)。 MultiFactor認証フローの設定は、 また、 最初の認証フローが成功した場合に、2番目に実行する認証フローを指定してます。 下記の例は、最初にPassword認証フローによる認証を行い、Password認証フローの認証が成功した場合にX509認証フローの認証が行われます。X509認証フローの認証が成功すると認証成功となります。 T.B.D. (Programmatically Selecting Flows) 最初の認証フローが認証要求を満たせば、 T.B.D. (Full Control Over Transitions) T.B.D. (General Configuration)
conf/authn/mfa-authn-config.xml
で行います。conf/idp.properties
のidp.authn.flows
でMultiFactor認証フローを有効します。注意すべき点として、ルールやスクリプトを介してMultiFactor認証フローから呼び出す認証フローは、意図を通りでない方法でIdPが有効とした認証フローを実行するかもしれないためidp.authn.flows
で有効にすべきではない、とされています。 # Regular expression matching login flows to enable, e.g. IPAddress|Password
-idp.authn.flows= Password
+idp.authn.flows= MFA
T.B.D. (Directly Selecting Flows)
<util:map id="shibboleth.authn.MFA.TransitionMap">
<!-- Run authn/Passowrd first. -->
<entry key="">
<bean parent="shibboleth.authn.MFA.Transition" p:nextFlow="authn/Passowrd" />
</entry>
<!-- If that returns "proceed", run authn/X509 next. -->
<entry key="authn/Password">
<bean parent="shibboleth.authn.MFA.Transition" p:nextFlow="authn/X509" />
</entry>
<!-- An implicit final rule will return whatever the second flow returns. -->
</util:map>
参考