You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes#819 (again)
The prepare_for_negotiated_authenticate method has sign parameter defaulting to None.
The logic setting sign_redirect and sign_post does not properly handle the three-state aspects
that sign has with None mixed True and False.
Python evalutes `None and <any value>` as None, so as a result,
None gets passed forboth sign_redirect and sign_post.
However, None is interpreted by Entity._message as "sign if self.should_sign".
As a result, for Redirect binding, the authentication request gets signed
both in XML and in HTTP parameter (recurrence of #819).
Fix this by passing an explicit False for exactly one of the branches
(sign_post for REDIRECT binding and sign_redirect for all other bindings),
passing through value of `sign` for the other branch.
0 commit comments