相关疑难解决方法(0)

Laravel Socialite:InvalidStateException

我正在使用Laravel Socialite在网站上添加Facebook连接按钮.有时候,我在回调时遇到了这个错误:

exception 'Laravel\Socialite\Two\InvalidStateException' 
in /example/vendor/laravel/socialite/src/Two/AbstractProvider.php:161
Run Code Online (Sandbox Code Playgroud)

我不知道这是什么意思,也没有发现任何关于这个错误的信息.真正的问题是它似乎是一个随机的例外(不明白它为什么会发生).那么这个错误意味着什么,以及如何避免它?

它似乎与Laravel 5在AbstractProvider.php中引发InvalidStateException的问题不同,因为在我的情况下它是随机的.

php facebook laravel laravel-5

52
推荐指数
8
解决办法
5万
查看次数

CSRF如何在OAuth2.0中没有状态参数的情况下工作?

我在公司的SSO中使用了identityserver3的OAuth2.0,我无法理解state参数如何阻止CSRF.

我已将攻击流程复制如下:

1.Mallory访问某个客户的网站,并开始授权该客户使用OAuth访问某个服务提供商的过程

2.客户要求服务提供商允许代表Mallory请求访问权限

3.Mallory被重定向到服务提供商的网站,在那里她通常会输入她的用户名/密码以授权访问

4.相反,Mallory陷阱/阻止此请求并保存其URL(Callback Url)

5.现在,Mallory以某种方式让Alice访问该URL.如果Alice使用自己的帐户登录服务提供商,则其凭据将用于颁发授权码

6.授权代码被交换为访问令牌

7.现在,Mallory在客户端的帐户有权访问服务提供商处的Alice帐户


我可以理解第1步到第4步.但是从第5步开始,我有些困惑.根据我的理解,在步骤5中,Alice在登录时访问回调URL,然后服务器只使用授权码访问OAuth服务提供商以在后端获取openid和访问令牌,然后Alice的浏览器只是使用Mallory的帐户和访问令牌执行登录.与Mallory的浏览器有什么关系?你能详细解释一下吗?感谢您花时间阅读我的话!

oauth-2.0

13
推荐指数
2
解决办法
6286
查看次数

标签 统计

facebook ×1

laravel ×1

laravel-5 ×1

oauth-2.0 ×1

php ×1