1

我有一个已知问题,在尝试授权访问令牌时,DNS 解析会导致超时。Starlette OAuth 客户端依赖 HTTPX 处理异步请求,HTTPX 的已知超时为 5 秒。

有没有办法让我将 Authlib 的 OAuth 客户端配置为比 5 秒更长的超时时间?

4

1 回答 1

2

我终于设法弄清楚了,您在client_kwargs函数中指定的任何内容都register将传递给 HTTPX 客户端。因此,使用此配置对我有用:

# Setup Google OAuth
oauth = OAuth(config.local_config)
oauth.register(
    name="google",
    server_metadata_url="https://accounts.google.com/.well-known/openid-configuration",
    authorize_params={"hd": config.FORCED_AUTHENTICATION_DOMAIN, "access_type": "offline"},
    client_kwargs={"scope": "openid email profile", "timeout": Timeout(timeout=config.AUTHENTICATION_TIMEOUT)},
)
于 2020-05-06T15:29:56.583 回答