1414 * failing. As a result, we then get modified requested ACRs, which should be restored to the previous (original) state
1515 * using this authproc filter. It should be run on one of the first places of the IdP authproc chain.
1616 */
17- class RestoreAcrs extends ProcessingFilter
17+ class MultifactorAcrs extends ProcessingFilter
1818{
1919 public const CONFIG_FILE_NAME = 'module_perun.php ' ;
2020
@@ -30,7 +30,7 @@ public function process(&$request)
3030 $ this ->restoreAcrs ($ request );
3131 }
3232
33- public static function storeAcrs (array &$ state , array $ acrsToAdd )
33+ public static function addAndStoreAcrs (array &$ state , array $ acrsToAdd )
3434 {
3535 if (!empty ($ acrsToAdd )
3636 && !empty ($ state [Disco::SAML_REQUESTED_AUTHN_CONTEXT ][Disco::STATE_AUTHN_CONTEXT_CLASS_REF ])
@@ -70,10 +70,13 @@ private function restoreAcrs(&$request)
7070 {
7171 if (!empty ($ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT_ORIGINAL ])) {
7272 unset($ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT ][Disco::STATE_AUTHN_CONTEXT_CLASS_REF ]);
73- $ handle = & $ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT ][Disco::STATE_AUTHN_CONTEXT_CLASS_REF ];
74- $ handle = $ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT_ORIGINAL ];
73+ $ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT ][Disco::STATE_AUTHN_CONTEXT_CLASS_REF ] =
74+ $ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT_ORIGINAL ];
7575 unset($ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT_ORIGINAL ]);
76- Logger::debug (self ::DEBUG_PREFIX . ': ACRS restored: ' . join (', ' , $ handle ));
76+ Logger::debug (
77+ self ::DEBUG_PREFIX . ': ACRS restored: '
78+ . join (', ' , $ request [Disco::SAML_REQUESTED_AUTHN_CONTEXT ][Disco::STATE_AUTHN_CONTEXT_CLASS_REF ])
79+ );
7780 }
7881 }
7982}
0 commit comments