【问题标题】:angular js: oauth2 implementation for rest ful apiangularjs:restful api 的 oauth2 实现
【发布时间】:2017-11-29 07:31:18
【问题描述】:
我正在尝试为我的 angualar 2 Web 项目实施 oauth2 身份验证。这个项目完全依赖于rest apis。我发现的所有 ng-oauth2 软件包都需要一个新的登录页面进行身份验证。但我需要宁静的身份验证。我已经设置了一个带有 ouath2 身份验证的 django 服务器。
所以我需要将身份验证url称为
mydomain.com/oauthlogin
带有标题值
Authorization: Bearer JnEmTyenQS54L6NZeJ4eVhcQ1DLDOa
有没有这类认证的包?
【问题讨论】:
标签:
angular
rest
authentication
oauth-2.0
【解决方案1】:
您需要使用 Angular 防护来保护需要访问令牌的路由。守卫将检查应用程序是否将访问令牌保存在某处,例如在浏览器的会话存储中。如果守卫没有令牌,则使用所有必要的请求参数将用户重定向到 OAuth2 /auth 端点。
身份验证后,OAuth2 服务器将用户重定向回您的应用程序到指定的重定向 URL。所以你需要一个能够接受请求的路由,从 URL 中提取并保存所有信息,然后移动到其他路由(可能存储在 stage 参数中)。
那么您需要一个自定义的Http 服务或XhrBackend 服务,它将Authorization 请求标头添加到XHR 调用中。
因此您不需要任何特殊的库,只需在应用程序中添加几个类即可。