angularjs:restful api 的 oauth2 实现

Posted

技术标签:

【中文标题】angularjs:restful api 的 oauth2 实现【英文标题】:angular js: oauth2 implementation for rest ful api 【发布时间】:2017-11-29 07:31:18 【问题描述】:

我正在尝试为我的 angualar 2 Web 项目实施 oauth2 身份验证。这个项目完全依赖于rest apis。我发现的所有 ng-oauth2 软件包都需要一个新的登录页面进行身份验证。但我需要宁静的身份验证。我已经设置了一个带有 ouath2 身份验证的 django 服务器。

所以我需要将身份验证url称为

mydomain.com/oauthlogin

带有标题值

Authorization: Bearer JnEmTyenQS54L6NZeJ4eVhcQ1DLDOa

有没有这类认证的包?

【问题讨论】:

【参考方案1】:

您需要使用 Angular 防护来保护需要访问令牌的路由。守卫将检查应用程序是否将访问令牌保存在某处,例如在浏览器的会话存储中。如果守卫没有令牌,则使用所有必要的请求参数将用户重定向到 OAuth2 /auth 端点。

身份验证后,OAuth2 服务器将用户重定向回您的应用程序到指定的重定向 URL。所以你需要一个能够接受请求的路由,从 URL 中提取并保存所有信息,然后移动到其他路由(可能存储在 stage 参数中)。

那么您需要一个自定义的Http 服务或XhrBackend 服务,它将Authorization 请求标头添加到XHR 调用中。

因此您不需要任何特殊的库,只需在应用程序中添加几个类即可。

【讨论】:

以上是关于angularjs:restful api 的 oauth2 实现的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS Resource:与 RESTful API 交互

AngularJS 访问 Cbssports REST API

带有restful API GET方法的AngularJs自定义标头

angularjs,rest api,spring security,休眠任何应用程序

Angularjs调用restful api(post)没有成功错误请求

html REST API测试[使用GitHub实时] - (使用AngularJS).html