基于用户限制REST API结果
我正在使用BackboneJS构建一个消息传递应用程序,它自然地使用REST接口持久化 我遇到的问题是,我不知道如何限制用户可以从API中提取哪些数据。例如,对/messages的调用此时将为所有用户返回消息。我希望该资源只返回属于当前用户的消息 在线搜索似乎表明oAuth2是解决此问题的最佳方法,但所有教程讨论的内容都已重定向到另一个地方,以确认访问并检索访问令牌 考虑到我的用户已经登录到消息应用程序,并且RESTAPI实际上是同一应用程序的一部分,我不喜欢让用户确认我自己的应用程序可以访问我自己的API基于用户限制REST API结果,rest,backbone.js,oauth-2.0,Rest,Backbone.js,Oauth 2.0,我正在使用BackboneJS构建一个消息传递应用程序,它自然地使用REST接口持久化 我遇到的问题是,我不知道如何限制用户可以从API中提取哪些数据。例如,对/messages的调用此时将为所有用户返回消息。我希望该资源只返回属于当前用户的消息 在线搜索似乎表明oAuth2是解决此问题的最佳方法,但所有教程讨论的内容都已重定向到另一个地方,以确认访问并检索访问令牌 考虑到我的用户已经登录到消息应用程序,并且RESTAPI实际上是同一应用程序的一部分,我不喜欢让用户确认我自己的应用程序可以访问我
有更好的方法吗?oAuth2可能是您最好的选择--您肯定不想使用自己的安全性。然而,您所想到的oAuth2的味道可能不是您想要的 oAuth2有四种不同的风格,称为授权授予类型:
因此,请签出并查找资源所有者密码凭据授予类型。这是节点项目吗?您真的应该在服务器端管理它。服务器应该能够管理会话,并查看谁应该能够查看内容。@JonathanMiles不,这是正常的,在Apache上运行的旧PHP在客户端上具有主干side@YuruiRayZhang是的,数据应该限制在服务器端,但是由于REST是无状态的,如果没有我实现类似oAuthOk的东西,服务器就无法知道客户机是谁,我想我理解其中的区别。我需要做的是直接使用客户端用户名和密码从API请求访问令牌。API使用寿命较短的访问令牌和寿命较长的刷新令牌进行响应。访问令牌用于识别用户的请求,刷新令牌用于在访问令牌过期时重新生成访问令牌?你说不要自己滚?即使我遵循oAuth2协议,编写自己的类也是件坏事吗?听起来你已经弄明白了。当我说不要使用自己的身份验证协议时,我的意思是不要设计自己的身份验证协议。自己实现oAuth2很好。祝你好运