【问题标题】:Authlib ConnectTimeout from HTTPX with Starlette OAuth Client来自 HTTPX 的 Authlib ConnectTimeout 与 Starlette OAuth 客户端
【发布时间】:2020-05-06 23:29:56
【问题描述】:

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

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

【问题讨论】:

    标签: authlib


    【解决方案1】:

    我终于弄明白了,你在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)},
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      • 2017-01-16
      • 2020-09-23
      • 2013-07-03
      • 2020-05-22
      • 2017-10-19
      • 1970-01-01
      相关资源
      最近更新 更多