我有一个已知问题,在尝试授权访问令牌时,DNS 解析会导致超时。Starlette OAuth 客户端依赖 HTTPX 处理异步请求,HTTPX 的已知超时为 5 秒。
有没有办法让我将 Authlib 的 OAuth 客户端配置为比 5 秒更长的超时时间?
我有一个已知问题,在尝试授权访问令牌时,DNS 解析会导致超时。Starlette OAuth 客户端依赖 HTTPX 处理异步请求,HTTPX 的已知超时为 5 秒。
有没有办法让我将 Authlib 的 OAuth 客户端配置为比 5 秒更长的超时时间?
我终于设法弄清楚了,您在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)},
)