我正在使用 ionic 和 AngularJS (1.5.x) 制作 SPA(混合应用程序)。我在后台使用 Symfony 2.8 并处理我的 API。
我想使用 JWT,我正在使用 Lexik JWT 包。一切正常。当用户登录时,他会获得一个令牌,然后将其保存在 Authorization 标头中。只有拥有此令牌(或者更确切地说是此标头中的令牌)的用户才能访问 API 并进行 API 调用。
我唯一不清楚的是如何做到这一点,以便用户只能进行涉及他们自己的信息的 API 调用(获取用户信息,只更新他们自己的帖子等)。
到目前为止,我已经尝试从 Authorization 标头中获取数据,以进一步以某种方式使用此令牌的数据(用户名在其中)来检查它是否等于制作此报告的用户名。
尝试了几件事,例如检查请求标头getallheaders()
的$token = $_SERVER['Authorization'];
其他通用功能,但每次我也遇到错误。
我是误解了什么还是错过了一步?我是否错误地使用了 JWT?我的推理是否正确,我应该这样做,还是有更流畅/合乎逻辑的方式来做到这一点?
我还在为我的 API 使用 FOSRestBundle 以及 NelmioCORS、NelmioApiDoc 和 FOSUSERBundle