Django oauth2 工具包提供者,授予第三个应用程序访问权限

时间:2021-01-11 14:43:05

标签: django-oauth-toolkit

Django 站点充当 oauth2 提供者。应用程序 tomcat_app 的设置如下所示:

enter image description here

每当有人尝试登录 tomcat_app 时,用户都会被重定向到 Django。如果用户可以提供有效的凭据,他们将被重定向到 tomcat_app。到现在为止还挺好。 Tomcat_app 进一步提供了一个 REST API,它知道 oauth2 工作流。如果请求提供有效的令牌请求将被接受。

我的心结:第三个服务器也应该被授予使用 tomcat_app rest api 的权限。可以吗

  • 在 Django externalapp_user/externalapp_password 中设置一个新用户
  • 通过将新用户凭据发送到 django 来获取 tomcat_app 的密钥

令我感到困惑的是,如何正确发送凭据以及如何处理重定向 url。我正在寻找类似于 client type: publicAuthorization grant type: Resource ownder password-based

的东西
curl -X POST -d "grant_type=password&username=admin&password=admin" http://client:secret@localhost/o/token/

1 个答案:

答案 0 :(得分:0)

我从 django-oauth-toolkit 文档中了解到:如果您想使用“基于资源所有者密码”的授权授权类型,您需要在您的 tomcat_app 上注册用户。

但是如果您不想让用户在您的应用程序上注册并仍然为他提供 api 端点,最好使用“客户端凭据”授权授予类型。这将使第三方应用能够在登录用户后访问您的 api 端点。

您可以查看 documentation 以更好地了解“客户凭据”流程。

相关问题