问题:
仅使用本地身份验证策略为客户端应用程序提供安全 API。
红色箭头是知识差距的一部分。
语境:
那就是 ---client.example.com
正在发布一个POST到api.example.com/login
成功client.example.com
可以访问GET服务的地方,例如api.example.com/secret
.
一个主意!
使用位于 API 前面的混合授权类型实现 OAuth 2.0。
为什么是混合动力车?
它不会是
Implicit Grant Flow
akaClient-Side Web Applications Flow
,因为没有重定向到 API 服务器也不会授予访问令牌。(即)“某某可以访问您的数据吗?”这不会是
Resource Owner Password Flow
因为客户端 ID 和客户端密码与请求一起传递,因此假定客户端应用程序是服务器端的。
好的......那么两者都有一点呢?
如果我们在客户端应用程序的页面加载中使用 CRSF 令牌,并将其与用户凭据一起发布 OAuth 2.0 身份验证端点以交换访问令牌怎么办?成功登录后,您将使用访问令牌和 CRSF 令牌对每个后续请求进行身份验证。
我发现了一个很好的 Node.js OAuth 2.0 库:
https://github.com/ammmir/node-oauth2-provider
帮我!
我找不到解决此问题的身份验证措施的工作示例!指出我正确的方向?
最终,这里的目标是使用 CORS 和本地策略(即用户名和密码)向 REST api 验证客户端应用程序,即使上述约定是不可能的。
容纳赏金:
这是一个客户端应用程序,所以让我们保持时尚。
我正在寻找一个工作示例,使用上面的Node.js OAuth 2.0 种子作为 API/Auth 服务器和前端框架(如Angular.js或Backbone.js)发出请求。
该示例应与上述上下文相匹配。