Wordpress -> Laravel - 跨域资源共享

Posted

技术标签:

【中文标题】Wordpress -> Laravel - 跨域资源共享【英文标题】:Wordpress -> Laravel - Cross-Origin Resource Sharing 【发布时间】:2019-07-13 03:18:55 【问题描述】:

让我解释一下我想要实现的目标。我想从 wordpress 上的 html 表单设置发送数据,看起来像这样 -> http://prntscr.com/mn87bl 当用户输入正确的用户名/密码时,它应该自动登录我们的 Laravel APP,它位于与 WP 网站不同的 URL 上。

我尝试对该链接进行 AJAX 调用,但出现跨源读取阻止错误。我不确定是否可以通过 cURL 完成,因为协议是 HTTPS。

我迷路了,我不确定我应该考虑什么解决方案才能完成这项工作。任何熟悉类似情况的人?

提前致谢!!

【问题讨论】:

你可以为你的登录路径禁用 Laravel 的 CSRF 保护:laravel.com/docs/5.7/csrf#csrf-excluding-uris @braed 你认为这会帮助解决这个问题吗 -> prntscr.com/mnj3o3 我认为你需要在你的 laravel 应用程序中允许 CORS:murze.be/handling-cors-in-a-laravel-application @braed 我理解,但这并没有真正的帮助。我们这里的问题是来自浏览器的跨域读取阻止...... 我想如果你设置CORS头,浏览器会允许请求:***.com/a/17888736/6158156 【参考方案1】:

我会完全避免直接提出跨域请求。让它工作是很挑剔的。相反,将用户名/密码提交给 WP 后端,然后从 WP 后端(使用 CURL 或类似的)向 Laravel 站点发出身份验证请求。如果登录成功,则将身份验证令牌返回给用户并将他重定向到 Laravel 站点。

你可以考虑使用 Laravel 护照来处理令牌https://laravel.com/docs/5.7/passport

【讨论】:

以上是关于Wordpress -> Laravel - 跨域资源共享的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 和 WordPress 前端

从 wordpress 触发 laravel 事件

使用 nginx 在 laravel forge 上集成 Laravel 5.2 wordpress

带有 SEO 友好网址的 Wordpress 博客 + Laravel

laravel 和 wordpress 在同一个域上(子文件夹中的 laravel)

集成wordpress和laravel登录