#python #oauth-2.0 #authlib #httpx
Вопрос:
Возможно, я не прочитал документы, но я ожидаю, что после fetch_token аутентификация клиента должна быть установлена и использоваться клиентом.get/post/request и т. Д. Может ли кто-нибудь помочь прояснить это для меня?
Вот мой код (в обратном вызове):
from authlib.integrations.httpx_client.oauth2_client import OAuth2Client, OAuth2Auth
oauth_client = AsyncOAuth2Client(...)
token = await oauth_client.fetch_token(
API_TOKEN_URL,
authorization_response=str(request.url),
grant_type='authorization_code',
)
user_request = await oauth_client.get(API_URL "/users")
Вышеизложенное приводит к 401. Однако приведенное ниже приводит к 200:
oauth_client = AsyncOAuth2Client(...)
token = await oauth_client.fetch_token(
API_TOKEN_URL,
authorization_response=str(request.url),
grant_type='authorization_code',
)
user_request = await oauth_client.get(API_URL "/users", auth=OAuth2Auth(oauth_client.token))
Я чувствую, что пропустил шаг, так как примеры, похоже, не требуют auth
передачи в .get/.post/.request/и т. Д. Я должен это oauth_client.auth = OAuth2Auth(oauth_client.token)
сделать ?