php - 将 angularjs webapp 连接到 REST API (PHP)

标签 php angularjs rest oauth-2.0 authorization

我有一个用 PHP ( Slim framework ) 编写的 REST API,我的 API 包含一些用于管理私有(private)数据的管理路由。我已经实现了 oAuth2.0 授权(this php implementation)。

我喜欢使用 AngularJS 创建管理网络应用程序,以便用户可以管理自己的数据。

我现在正在使用用户名-密码流程,但我读到这并不安全,因为我的网络应用公开了 client_id 和 client_secret。

我还研究了隐式授权(专为公共(public)客户设计),但它说它应该用于只读目的。

我还想使用此 API 为移动应用程序提供数据。用户无需为此登录,但数据不公开。

哪种 oauth 授权适合这种情况/设置?

最佳答案

查看 Resource Owner Password Credentials Grant。这是您提供的第二个链接中的第 4 个要点。 密码(用户凭据)

https://www.rfc-editor.org/rfc/rfc6749#section-4.3

简单地说:

  1. 用户发送他们的登录名密码
  2. 服务器授予用户access_token(相当于旧的cookie session id)
  3. 用户发送 access_token 及其剩余的请求

此外, 如果您想在保护数据私密性的同时授予移动设备访问权限,我建议生成链接到移动 mac 地址的“免费”帐户。然后让他们通过上述身份验证,并将他们的 mac 地址作为登录名/密码为空。这样一来,您就可以在每个设备上通过节流/禁止/升级/等方式将相同的用户逻辑实现到移动设备上。

关于php - 将 angularjs webapp 连接到 REST API (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23675765/

相关文章:

php - 将字符串转换为json

php - 将 AV 扫描添加到文件上传站点

javascript - 使用 ng-click 将动态值传递给 Angular 函数

api - REST:为什么要使用逻辑 URI?

java - spring MVC有多少jsp

php - Referer 和 Varnish 缓存条件代码不起作用

php - PHP中的矩阵链乘法

javascript - 将 $index 插入 ng-repeat angularJS 中的 name 属性

angularjs - 在我的应用程序初始加载时,为什么未设置 ui-router 状态?

python - 使用另一个 WS 作为验证 Flask/Rest/Mysql