【发布时间】:2014-08-17 07:17:56
【问题描述】:
我正在尝试授权用户使用 Oauth2 从我的 Django REST 框架 API 访问一些资源。
关于 Oauth2 和 API 的大多数答案都涉及使 API 成为提供者。
但我计划与许多 REST API 共享一个 Oauth2 提供程序,但我不知道如何使用它(而不是如何提供 Oauth2)。
我不知道用户如何登录提供者 SSO,然后将其令牌传递给我的消费 API,后者必须根据我的提供者对用户进行身份验证(取回其信息,主要是授权)。
有人知道如何从 Django REST 框架中使用 Oauth2 吗?
图:
[User] -> [My API] [Oauth2 provider (with django-oauth-provider)] [Active Directory / 任何东西]
【问题讨论】:
-
我遇到了同样的问题,正要问完全相同的问题。似乎我必须实现某种自定义身份验证,但我无法找到资源服务(在本例中为 API)如何针对创建它的服务验证令牌。我的意思是,我的 API 获取了令牌,那么我应该如何询问创建它的服务是否有效?使用 django_oauth_toolkit,它没有提供任何似乎对验证令牌有用的端点。
-
@gepatino 根据 OAuth2 规范,提供者必须提供一个内省端点来验证令牌。 tools.ietf.org/html/rfc7662#section-2 但是,它仍然是一个提议的标准。 Okta 是一个企业 IdP,有一个自省端点。 developer.okta.com/docs/api/resources/oidc/#introspect。您的 IdP 应该有类似的机制
标签: python django api oauth-2.0 django-rest-framework