【问题标题】:OAuth 2.0 Implicit Grant Type with AngularJS frontend带有 AngularJS 前端的 OAuth 2.0 隐式授权类型
【发布时间】: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


【解决方案1】:

你应该看看我发的这个帖子: https://stackoverflow.com/a/42443878/2963703 它详细介绍了如何使用 Spotify API 执行此操作。您的页面不会被重定向,而是会打开一个用户授权自己的弹出窗口。一旦他们获得授权,窗口将自行关闭,在您的主页中,您将获得所需的访问令牌。

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 2018-05-18
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 2011-10-19
    • 2015-02-23
    相关资源
    最近更新 更多