【发布时间】:2015-04-29 02:42:53
【问题描述】:
我一直在尝试将 OAuth2 身份验证集成到我的 drf 应用程序中。鉴于我的应用还不需要前端,我使用的是可浏览的 API。 DRF 和OAuth2 provider package 应该无需太多配置即可协同工作,如tutorial 中所述。
我应该提到教程中的所有步骤都在工作(因此我可以从命令行访问应用程序)但是当我尝试从可浏览 API 执行此操作时,我看不到任何访问令牌的请求或类似的东西。
我认为 DRF 实际上并没有为 OAuth2 身份验证的前端部分提供流程,但我只是想知道是否有人设法使它工作(因为现在我正在使用 SessionAuthentication)。
谢谢。
【问题讨论】:
-
我有类似的问题 - 你设法运行 DRF+OAuth2+Angularjs 吗?
-
@pplonski :是的,我做到了。我在我的 django 项目中使用了第 3 方库,以便拥有 OAuth 功能。这是 DRF 的完成,不是我用 DRF 构建的 API 的一部分。所以我无法使用 OAuth2 登录到可浏览的 API。在 Angular 中,我使用了 restangular,它非常适合请求。基本上,我拨打电话以获取访问令牌,并将其设置为 restangular 中的标头。所有进一步的请求都经过“身份验证”。如果您还有任何问题或需要一些代码,我很乐意提供帮助。
-
谢谢!因此,您使用自己的 Angular 代码编写来处理 OAuth 授权 - 您是否尝试使用例如 github.com/Tivix/angular-django-registration-auth ?
-
@pplonski 是的,我几乎编写了代码,灵感来自像这样的教程:medium.com/opinionated-angularjs/…。据我所知,您的示例与我所做的非常相似:请求令牌,将获得的令牌保存在 session/cookies 中,并将其设置为标头,以便在后续请求中使用。我目前正在努力使我的实现更不容易出错。
标签: authentication oauth-2.0 django-rest-framework