Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript laravel:非laravel页面上的登录表单_Javascript_Php_Laravel_Authentication - Fatal编程技术网

Javascript laravel:非laravel页面上的登录表单

Javascript laravel:非laravel页面上的登录表单,javascript,php,laravel,authentication,Javascript,Php,Laravel,Authentication,我正在构建一个web应用程序,它附带一个使用Jekyll的小网站。原因是该网站几乎永远不会改变,这样它可以快速运行(纯HTML+CSS和一些JavaScript),并且半独立于应用程序 Jekyll站点位于Laravel公用文件夹中,运行良好。目前,想要使用我们的应用程序的用户需要访问默认的Laravel auth路径来登录(/login) 我想在我的一个站点页面上添加一个登录表单,使用户无需首先访问应用程序即可登录 当然,我尝试添加一个简单的表单并将其发布到/login(默认的Laravel路

我正在构建一个web应用程序,它附带一个使用Jekyll的小网站。原因是该网站几乎永远不会改变,这样它可以快速运行(纯HTML+CSS和一些JavaScript),并且半独立于应用程序

Jekyll站点位于Laravel公用文件夹中,运行良好。目前,想要使用我们的应用程序的用户需要访问默认的Laravel auth路径来登录(/login)

我想在我的一个站点页面上添加一个登录表单,使用户无需首先访问应用程序即可登录

当然,我尝试添加一个简单的表单并将其发布到/login(默认的Laravel路由),但这不起作用,因为Laravel希望设置一个csrf令牌。 我知道Laravel设置了一个包含加密令牌的cookie,但我不确定是否(以及如何)能够使用它


有没有(简单的)方法将登录表单添加到非Laravel页面?是否可以只使用HTML和JavaScript(可能使用Ajax)?

您有两个选择

1-最便宜的选项:仅在登录路由上禁用csrf_令牌。有些人会推荐这个,有些人会说你不应该。如果你想不想走这条路,你可以在线研究

2-向路由发出ajax GET请求,该路由将返回csrf_令牌,以便您可以在表单中使用它。在Laravel控制器中,您只需返回会话令牌

public function getToken() {
    return session()->token();
}

3-前往passport road获取API请求,与SPA相同

谢谢!我们的应用程序已经在使用passport,但不知何故,我从未想过我应该使用它来解决这个问题。