Python 代表客户端验证密钥斗篷承载令牌

Python 代表客户端验证密钥斗篷承载令牌,python,django,docker,oauth,keycloak,Python,Django,Docker,Oauth,Keycloak,我想验证API中的承载令牌,它是从浏览器应用程序传递的。API将通过调用../userinfo端点来验证keydape中的令牌,如果检查运行正常,则使用所需的内容进行响应。问题是,如果我将一个承载令牌从浏览器或任何其他应用程序(例如postman)传递到api并尝试验证它,我会得到“401令牌验证失败” 以下工作: 使用用户名和密码,通过邮递员从Keyclope获取令牌 使用生成的承载令牌,通过邮递员从keydove获取userinfo 或 使用用户名和密码直接从API从KeyClope获取令牌

我想验证API中的承载令牌,它是从浏览器应用程序传递的。API将通过调用../userinfo端点来验证keydape中的令牌,如果检查运行正常,则使用所需的内容进行响应。问题是,如果我将一个承载令牌从浏览器或任何其他应用程序(例如postman)传递到api并尝试验证它,我会得到“401令牌验证失败”

以下工作:

  • 使用用户名和密码,通过邮递员从Keyclope获取令牌
  • 使用生成的承载令牌,通过邮递员从keydove获取userinfo
  • 使用用户名和密码直接从API从KeyClope获取令牌
  • 使用生成的承载令牌从API中的KeyClope获取userinfo
  • 以下操作不起作用:

  • 使用用户名和密码,通过邮递员从Keyclope获取令牌
  • 向API发送请求,该API在docker容器中运行,包含承载令牌
  • API尝试使用令牌获取用户信息=“401令牌验证失败”
  • 在所有场景中使用相同的客户端id和客户端机密


    这是docker网络的事情吗?或者,为了让API“代表”客户端验证令牌,是否需要一些keydepot配置?对授权流来说,这是一个全新的概念。

    发现了这一点:我在不同的URL上调用了keydape,来自postman的localhost:8080和来自docker中运行的api的host.docker.internal:8080。事实证明,您必须从两端在同一URL上调用keydape。在这两种情况下,我都改用机器的ip,瞧