【发布时间】:2020-05-06 23:29:56
【问题描述】:
我有一个已知问题,即尝试授权访问令牌时 DNS 解析会导致超时。 Starlette OAuth 客户端依赖 HTTPX 处理异步请求,而 HTTPX 的已知超时为 5 秒。
我有没有办法将 Authlib 的 OAuth 客户端配置为 比 5 秒更长 超时?
【问题讨论】:
标签: authlib
我有一个已知问题,即尝试授权访问令牌时 DNS 解析会导致超时。 Starlette OAuth 客户端依赖 HTTPX 处理异步请求,而 HTTPX 的已知超时为 5 秒。
我有没有办法将 Authlib 的 OAuth 客户端配置为 比 5 秒更长 超时?
【问题讨论】:
标签: authlib
我终于弄明白了,你在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)},
)
【讨论】: