我有2个不同的网站。在Wordpress中开发面向公众的网站,在Laravel中开发项目功能。
我已将登录表单放置在Wordpress中,并尝试从wordpress自定义表单登录到Laravel项目模块。但是存在与csrf令牌不匹配有关的问题。
这是来自WordPress网站的代码:
<form role="login" action="http://projectmodule.com/auth/login">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" name="login" value="Login" />
</form>
有没有什么方法可以从wordpress到Laravel验证用户,而无需使用任何Laravel软件包。或如何仅针对特定路由停止csrf令牌验证?
我正在使用Laravel 5.0和Wordpress 4.4版本。
您的问题与CORS(跨站点资源共享)有关。
这里是Tino Tkalec逐步实施和理解的良好链接。
及其github回购代码为https://github.com/ttkalec/laravel5-angular-jwt
您将通过这种方式轻松学习和实施。
如果使用Laravel 5.1,则可以从CSRF中间件中排除特定的路由。检查文件app\Http\Middleware\VerifyCsrfToken.php
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'your_route_here'
];
}
对于$except
数组中指定的所有路由,将不执行中间件
以下是一些链接,它们跳过了Laravel 5.0版本中指定路由的CSRF验证,但是非常简单!
http://laravel.io/forum/11-14-2014-disabling-the-csrf-middleware-in-laravel-5
http://www.techigniter.in/tutorials/disable-csrf-check-on-specific-routes-in-laravel-5/
我如何使用户能够以表格形式输入其电子邮件和密码,并在另一个网站上登录,如果可能的话,需要一些解决方案