準備中
元ネタ: https://github.com/korteke/Shibboleth-IdP3-TOTP-Auth
releasesタブから totpauth-impl-NNN-bin.zip をダウンロード、展開。
conf/, edit-webapp/, flows/, views/ の内容をディレクトリ構造を保持したまま/opt/shibboleth-idp/以下に配置。
idp.propertiesのidp.authn.flowsに"|Totp"を追加。
-idp.authn.flows = Password +idp.authn.flows = Password|Totp
conf/authn/general-authn.xmlの <util:list id="shibboleth.AvailableAuthenticationFlows">
に以下を挿入。
<bean id="authn/Totp" parent="shibboleth.AuthenticationFlow" p:passiveAuthenticationSupported="true" p:forcedAuthenticationSupported="true"> <property name="supportedPrincipals"> <util:list> <bean parent="shibboleth.SAML2AuthnContextClassRef" c:classRef="urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken" /> </util:list> </property> </bean>
以下は3.3向け修正。
最後に、Tomcatを起動したまま/opt/shibboleth-idp/bin/rebuild.shを実行し、WARファイル再作成およびデプロイします。