【发布时间】:2015-06-22 17:26:24
【问题描述】:
我目前正在为我自己的 Apigility API 构建一个前端客户端。 该 API 使用 OAuth 2.0 身份验证,工作正常。
我想创建一个 AngularJS 登陆页面,让用户通过输入他们的凭据进行身份验证。因为客户端是用 JavaScript 创建的, 我不应该将 client_secret 保存在客户端中,对吗?
我已经阅读了很多帖子,但仍然没有正确的解决方案。 在这种情况下使用 隐式授权类型 是否正确? 此过程正在运行,我被重定向到身份验证服务器, 在客户端授权并输入凭据后,我回到客户端(经过身份验证)。
但我不想被重定向到另一个身份验证页面。 是否也可以在 angularJS 前端直接且安全地进行身份验证?
谢谢, 西蒙
【问题讨论】:
-
您必须将用户重定向到身份验证服务域。为了安全起见,它需要是整页重定向,而不是 iframe(并且许多登录页面都有从 iframe 中剔除的逻辑)。是的,您正在寻找隐式授权
-
好的,我已经做到了。我正在使用 AngularJS 模块 oauth-ng。我还将应用程序设置为 html5mode。现在我遇到的问题是它不再从 url 中提取 access_token 了。所以它没有保存在本地或会话存储中。我该如何解决这个问题?
标签: javascript angularjs authentication oauth