Я работаю с API Google OAuth2 и использую библиотеку Google-auth-oauthlib в Python. Тем не менее, я продолжаю сталкиваться с несоответствием StateError при попытке завершить процесс аутентификации OAuth2. Сообщение об ошибке следующим образом: < /p>
Exception in thread Thread-1 (start_flow):
Traceback (most recent call last):
File "C:\Users\eymen\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 1041, in _bootstrap_inner
self.run()
File "C:\Users\eymen\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 992, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\eymen\PycharmProjects\gmailtempapi\test2.py", line 77, in start_flow
credentials = flow.run_local_server(port=port)
File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\google_auth_oauthlib\flow.py", line 458, in run_local_server
self.fetch_token(
File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\google_auth_oauthlib\flow.py", line 285, in fetch_token
return self.oauth2session.fetch_token(self.client_config["token_uri"], **kwargs)
File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\requests_oauthlib\oauth2_session.py", line 271, in fetch_token
self._client.parse_request_uri_response(
File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\oauthlib\oauth2\rfc6749\clients\web_application.py", line 220, in parse_request_uri_response
response = parse_authorization_code_response(uri, state=state)
File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\oauthlib\oauth2\rfc6749\parameters.py", line 278, in parse_authorization_code_response
raise MismatchingStateError()
oauthlib.oauth2.rfc6749.errors.MismatchingStateError: (mismatching_state) CSRF Warning! State not equal in request and response.
< /code>
Проблема: < /strong>
Я пытаюсь автоматизировать поток Google OAuth2 с помощью Playwright и Google-Auth-oauthlib. Тем не менее, поток терпит неудачу из -за несоответствия состояния во время процесса авторизации, что приводит к ошибке CSRF (несоответствие StateError). Я использую многопоточный подход для обработки потока OAuth2, где ответ аутентификации получается через Playwright в отдельном потоке. После открытия URL -адреса авторизации и предоставлены учетные данные, я сталкиваюсь с этой проблемой. try:
flow = InstalledAppFlow.from_client_secrets_file(
client_secrets_file,
scopes=SCOPES)
redirect_uri = f"http://localhost:{port}"
flow.redirect_uri = redirect_uri
auth_url, _ = flow.authorization_url()
print(f"Opening browser for authorization of {email}")
def start_flow(flow, port, event):
global credentials
credentials = flow.run_local_server(port=port)
event.set()
event = threading.Event()
flow_thread = threading.Thread(target=start_flow, args=(flow, port, event))
flow_thread.start()
with sync_playwright() as playwright:
authorization_response = run(playwright, email, auth_url)
event.wait()
Ошибка добавляется во время вызова flow.run_local_server (), и она, по-видимому, связана с параметром состояния в запросе OAuth2. /> Вопрос: < /strong> < /h1>
Что может вызвать ошибку CSRF и параметр состояния несоответствия? Как я могу решить эту проблему и успешно завершить процесс аутентификации OAuth2?>
Я работаю с API Google OAuth2 и использую библиотеку Google-auth-oauthlib в Python. Тем не менее, я продолжаю сталкиваться с несоответствием StateError при попытке завершить процесс аутентификации OAuth2. Сообщение об ошибке следующим образом: < /p> [code]Exception in thread Thread-1 (start_flow): Traceback (most recent call last): File "C:\Users\eymen\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 1041, in _bootstrap_inner self.run() File "C:\Users\eymen\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 992, in run self._target(*self._args, **self._kwargs) File "C:\Users\eymen\PycharmProjects\gmailtempapi\test2.py", line 77, in start_flow credentials = flow.run_local_server(port=port) File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\google_auth_oauthlib\flow.py", line 458, in run_local_server self.fetch_token( File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\google_auth_oauthlib\flow.py", line 285, in fetch_token return self.oauth2session.fetch_token(self.client_config["token_uri"], **kwargs) File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\requests_oauthlib\oauth2_session.py", line 271, in fetch_token self._client.parse_request_uri_response( File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\oauthlib\oauth2\rfc6749\clients\web_application.py", line 220, in parse_request_uri_response response = parse_authorization_code_response(uri, state=state) File "C:\Users\eymen\PycharmProjects\gmailtempapi\.venv\Lib\site-packages\oauthlib\oauth2\rfc6749\parameters.py", line 278, in parse_authorization_code_response raise MismatchingStateError() oauthlib.oauth2.rfc6749.errors.MismatchingStateError: (mismatching_state) CSRF Warning! State not equal in request and response. < /code> Проблема: < /strong> Я пытаюсь автоматизировать поток Google OAuth2 с помощью Playwright и Google-Auth-oauthlib. Тем не менее, поток терпит неудачу из -за несоответствия состояния во время процесса авторизации, что приводит к ошибке CSRF (несоответствие StateError). Я использую многопоточный подход для обработки потока OAuth2, где ответ аутентификации получается через Playwright в отдельном потоке. После открытия URL -адреса авторизации и предоставлены учетные данные, я сталкиваюсь с этой проблемой. try: flow = InstalledAppFlow.from_client_secrets_file( client_secrets_file, scopes=SCOPES) redirect_uri = f"http://localhost:{port}" flow.redirect_uri = redirect_uri auth_url, _ = flow.authorization_url() print(f"Opening browser for authorization of {email}")
def start_flow(flow, port, event): global credentials credentials = flow.run_local_server(port=port) event.set()
event = threading.Event() flow_thread = threading.Thread(target=start_flow, args=(flow, port, event)) flow_thread.start() with sync_playwright() as playwright: authorization_response = run(playwright, email, auth_url)
event.wait() [/code] Ошибка добавляется во время вызова flow.run_local_server (), и она, по-видимому, связана с параметром состояния в запросе OAuth2. /> Вопрос: < /strong> < /h1> Что может вызвать ошибку CSRF и параметр состояния несоответствия? Как я могу решить эту проблему и успешно завершить процесс аутентификации OAuth2?>
Я использую django с drf_social_oauth2 и oauth2_provider для аутентификации Google OAuth2. Я успешно реализовал поток авторизации pkce . GET /api/v1/o/authorize/?client_id=&response_type=code&redirect_uri=
step 2 : Frontend Bearge Code по адресу:...
Я новичок в реагировании и пытаюсь понять, как работает . Я использую простой счетчик для тестирования обновлений состояния, но я смущен тем, как ведет себя setCount .
Вот мой код:
import React, { useState, useEffect } from 'react';
У меня есть следующий код Python, который использует Pyspark для издевания системы обнаружения мошенничества для кредитных карт:
from pyspark.sql import SparkSession
from pyspark.sql.functions import from_json, col, unix_timestamp
from...
У меня есть следующий код Python, который использует Pyspark для издевания системы обнаружения мошенничества для кредитных карт:
from pyspark.sql import SparkSession
from pyspark.sql.functions import from_json, col, unix_timestamp
from...
Я пытаюсь открыть таблицу Google через gspread, но мой код завершается с ошибкой:
Traceback (most recent call last):
File /home/memcpy/.local/lib/python3.6/site-packages/google/oauth2/_client.py , line 156, in jwt_grant
access_token = response_data...