最近我一直在做一个网站项目,该项目允许用户使用他们的 Discord 帐户登录以使用他们的帐户浏览网站。
该网站使用 Flask-Discord 库,Quart 作为我的 WSGI Web 框架,Hypercorn 作为我的生产服务器,Nginx 作为代理将 Web 请求传递到我的 Hypercorn 套接字。我已经使用 Certbot-Nginx 设置了 SSL 证书,并使用 Let Encrypt 作为证书颁发者。但是,在用户被重定向到 Discord 登录页面后,用户登录到 Discord 并向我的 Quart 服务器请求回调我收到以下错误:
oauthlib.oauth2.rfc6749.errors.InsecureTransportError: (insecure_transport) OAuth 2 MUST utilize https.
该网站已设置并在临时使用 noip 的域设置和 SSL 证书有效的情况下正常工作,使所有请求重定向到 HTTPS 而不是 HTTP。
是否有可能因为 SSL 证书是使用 Nginx 设置的,Python OAuth2 库只是不知道 SSL 证书?考虑到所有请求都被重定向到 HTTPS,这似乎不太可能。
我发现很多人建议防止此类错误,只需更改 OAuth 环境变量以允许不安全的传输,但我不想损害网站的安全性。
关于为什么会发生这种情况的任何想法都会非常有帮助。
谢谢