Laravel Socialite有一个“无状态”模式,禁止将任何内容存储到会话中。从源代码读取它不会做任何不同的事情 - 它只是不存储或检索这些值。Laravel Socialite处于“无状态”模式 - 安全隐患?
作为其中的一部分,例如,其中的assumes例如OAuth状态总是有效的。
检查这是Twitter sign-in documentation告诉我们要做的事情之一。
所以我想知道使用Socialite的无状态模式会有什么样的安全隐患。
如果问题严重,那么对于作为无状态API运行的应用程序,会有什么样的解决方法?我可以将商品存储在其Redis商店中,但我不确定如何将任何信息绑定到当前用户。通过重新实现Socialite的功能,我可以将状态存储在缓存中,并通过用户的IP和浏览器指纹的一些散列键入。但这似乎很混乱。
看看这个视频30:19:https://vimeo.com/138774235,从这里的幻灯片:https://www.slideshare.net/alvarosanchezmariscal/stateless-authentication-with-oauth-2 -jwt-javazone-2015 无状态API的状态检查不再那么不安全,只是采取了不同的措施 – Cyril
@ tech1000,我已经理解并在用户登录后使用JWT。这不是什么问题是关于。这个问题是关于Laravel Socialite提供的登录流程。用户尚未获得授权,因此在此过程中尚未具有访问令牌。 – tremby
Laravel提供的状态检查不会以任何方式影响OAuth授权本身的安全性。用户仍然被重定向到第三方以便登录(通过HTTPS),并接收安全且经过验证的访问资源服务器的AccessToken + RefreshToken。 你提到:<<用户还没有授权,因此还没有在此过程中访问令牌。 >> 国家总是检查授权之后发生的,因为随机字符串钉入到会话的OAuth成功后,才,这是一个措施后,没有一个不可或缺的原因。 – Cyril