【问题标题】:Oauth2 password grant type with Doorkeeper and Angular带有 Doorkeeper 和 Angular 的 Oauth2 密码授予类型
【发布时间】:2014-07-03 08:43:29
【问题描述】:

我有一个 Rails API,它使用 Doorkeeper 和 Oauth2 的密码授予方法。

Doorkeeper 要求将 client_idclient_secret 连同用户的登录详细信息和范围一起发送到令牌请求 (/oauth/token)。

我将如何在 Angular 应用程序中执行此操作?我不喜欢存储客户端 ID 和秘密客户端的想法......

【问题讨论】:

  • 看看我们的流程stackoverflow.com/questions/25455132/…我们也不确定并征求意见
  • @BartekS 你的实现有什么收获吗?
  • 试试这个github.com/bslipek/angurailsSpike/tree/satelizer 但没有很好的记录:)
  • @BartekS 谢谢,但这似乎没有使用 API / Oauth 对用户进行身份验证,而是使用常规 Rails 控制器登录并手动返回令牌......
  • 正确,您需要在后端的每个请求后登录用户。您解码 JWT 令牌并搜索规范用户(首先验证机密)。但是,是的,它很复杂 :) 也可以尝试分段分支...

标签: ruby-on-rails angularjs ruby-on-rails-4 oauth-2.0 doorkeeper


【解决方案1】:

client_id 和 client_secret 仅应在您的应用代码受到保护时使用,例如在您的网络服务器中。

对于浏览器网络应用和移动应用,应使用 oauth 隐式流或密码流。

  1. 在隐式流中,您只使用 client_id。
  2. 在密码流程中,您将用户名和密码交换为访问令牌。

【讨论】:

  • 在使用密码流创建令牌时,服务器是否提供任何scope 请求的有效 OAuth 规范?我已经看到 libs 这样做了,我很好奇这是否是预期的流程,然后一些 api 端点应该根据令牌范围授权请求,以检查该用户/实体是否有这样做的权限。
猜你喜欢
  • 2015-07-18
  • 2018-05-26
  • 2015-05-20
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 2017-01-04
  • 2017-01-14
相关资源
最近更新 更多