【问题标题】:Sending Post request from Laravel For Authentication从 Laravel 发送 Post 请求进行身份验证
【发布时间】:2019-07-11 13:11:46
【问题描述】:

我想通过从服务器发送一个发布请求来验证用户。我在浏览器“/test”中点击了一个 url,然后该路由的关闭函数将向“/post-login”路由发送一个发布请求以进行身份​​验证。

我不想仅将 csrf 令牌发送到“登录后”路由,这就是我在 verifycsrf 中间件中排除它的原因。

Route::get('/test', function(){
$url = 'http://localhost/fps/public/post-login';
$fields = [];

$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); 

curl_exec($ch);
});

Route::post('/post-login',function(){
Auth::loginUsingId(1);
});

假设数据库中存在 id=1 的用户。我试过 curl 和 guzzle 但无济于事。上述解决方案不是对用户进行身份验证。

【问题讨论】:

    标签: php authentication laravel-5 routes laravel-5.7


    【解决方案1】:

    如果您使用控制器,那么这将起作用,而 curl 则不会,因为您正在使用 curl,它的抓取 URL 并将其传递给浏览器,作为回报,您将只获得结果,它不会创建任何会话。对于Auth::check(),它会寻找会话,

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2020-06-02
    • 2019-07-04
    • 2014-09-15
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    相关资源
    最近更新 更多