首页 > 解决方案 > Laravel 使用会话重定向

问题描述

我想将在域 A 中创建的会话的用户重定向到域 B,并且用户在重定向后应该在域 B 中登录。

我已经尝试redirect->withCookie()了通过 cUrl 操作生成的 Laravel 会话的方法,但是在域 B 中它会将我踢到登录页面。

标签: phplaravel-5.2session-cookies

解决方案


你不能这样传递Cookies给不同的域。Cookie 被标记到域,因此一个域 (Domain-B) 无法读取另一个域 (Domain-A) 的 cookie。

您需要将某种不透明的凭据从域-A 传递给域-B,以让域-B 知道他/她已经登录。因此,域-B 将简单地将用户注册为自己的登录问题cookie 会话。

access token重定向时,您可以在查询参数中传递某种一次性或有时间限制的信息。您需要从第二个域 (Domain-B) 向第一个域 (Domain-A) 进行调用,以验证访问令牌是否仍然有效

理想情况下,您可以使用已签名的JSON Web 令牌 (JWT)作为access token. 使用JWT可以让您跳过使用第一个域(域-A)检查令牌的步骤。参考https://jwt.io生成 JWT。

还有更多选择,例如,OAuth但这可能是矫枉过正。


推荐阅读