问题描述
早上好或下午好,甚至晚上好!
我一直在尝试使用OAuth Toolkit with Django 实现资源服务器与身份验证服务器的分离,但我被卡住了。
尝试过:
首先,我已经尝试了以下方法:
-
按照此 tutorial 的教程进行操作,它在使用python manage.py runserver 为项目提供服务时很有效。
-
整个结构是我使用邮递员作为客户端并向资源服务器请求并使用身份验证服务器检查经过身份验证的用户所以在资源和认证服务器之间存在内省过程。
问题:
正如我所提到的,当我使用 python manage.py runserver 为项目提供服务时,整个想法才有效。当使用Nginx和Gunicorn在Docker-Compose中部署项目服务项目时,头痛来了。
这是最后一个错误 - 超过最大重试次数,网址:/o/introspect/
当我回溯到根目录时 - 自省:在令牌查找中 POST 到 localhost:8000/o/introspect/ 失败
这是客户端应用程序中的错误 - “未提供身份验证凭据。”
我发现当访问令牌过期或撤销并且系统尝试为资源获取新的访问令牌时会发生此问题来自认证服务器的服务器。
不知何故,对我来说,内省过程因未知原因而失败!
以前有人撞过这堵墙吗?
编辑:(2021 年 3 月 4 日星期四)
我发现了另一个可以与确切问题更相关的原因!
作为 docker compose 创建的服务,每个服务服务于一个由项目(Django)镜像组成的容器。因此,每个项目都是相互隔离的!
这会导致 A 项目更难请求到 B 项目,因为 B 项目的端口在 A 项目中无法访问。
一个潜在的解决方案可能是使用 Nginx 服务器代理名称(它将与 docker compose 中的每个服务的名称相同)来发出请求。
我还在努力解决这个问题!如果有人可以提供帮助,那将不胜感激!
编辑:(台湾 2021 年 3 月 4 日星期四下午 5:07)问题已解决
解决方案已演示!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)