У меня есть Flask веб-приложение, которое выполняет аутентификацию OID C через authlib. Процесс обычно работает. Однако, когда сеанс «старый», обновление веб-страницы иногда приводит к следующей трассировке. Скопировав URL в новую вкладку браузера, аутентификация работает нормально.
К сожалению, проблему сложно отладить, потому что это происходит нерегулярно. У кого-нибудь есть идея, почему может возникнуть несовпадение состояний при обновлении страницы?
Спасибо за любые предложения.
File "...", line 52, in login_callback
@bp.route('/login_callback', methods=('GET', 'POST'))
File "/workspace/authlib/authlib/integrations/flask_client/remote_app.py", line 120, in authorize_access_token
params = self.retrieve_access_token_params(flask_req, request_token)
File "/workspace/authlib/authlib/integrations/_client/base_app.py", line 160, in retrieve_access_token_params
params = self._retrieve_oauth2_access_token_params(request, params)
File "/workspace/authlib/authlib/integrations/_client/base_app.py", line 142, in _retrieve_oauth2_access_token_params
raise MismatchingStateError()
authlib.integrations._client.errors.MismatchingStateError: mismatching_state: CSRF Warning! State not equal in request and response.