我有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>
有没有办法可以在不使用任何Laravel软件包的情况下从wordpress到Laravel对用户进行身份验证。或者如何仅针对特定路由停止csrf令牌验证?
我使用的是Laravel 5.0和Wordpress 4.4版本。
答案 0 :(得分:2)
您的问题与CORS(跨站点资源共享)有关。
以下是Tino Tkalec提供的逐步实施和理解的良好链接。
及其github回购是https://github.com/ttkalec/laravel5-angular-jwt
您将通过这种方式轻松学习和实施。
答案 1 :(得分:1)
如果您使用的是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
数组中指定的所有路由,中间件将不会被执行
答案 2 :(得分:0)
以下是在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/