背景
我有一个Laravel系统,有一个标准的登录系统,散列,用户名等等。我还有多台服务器。我自己的服务器是Web开发人员,客户端服务器是客户端站点的宿主。有些客户有多个站点。
Thr问题
我有一个场景,我想有一个主网站(开发商网站),客户可以登录。
一旦他们登录到门户,他们将看到一个列表的网站是‘拥有’的客户端。
然后,我会显示一个‘登录’按钮,所以一旦他们点击按钮,它将认证他们到远程站点,并将他们重定向到它。(你一次登录)。
一般来说,这一切都是可能的,而且非常容易,特别是当站点位于同一台服务器上,因为我可以访问两个DB。
但是,在这个新的场景中,主站点位于单独的服务器上。
我考虑了两个选择
备选案文1
从主站点在浏览器中设置cookie,其中包含客户端站点将读取的某些信息。然后将它们重定向到次要站点,该站点将检查该cookie,然后进行身份验证。
选项2
用户登录到主站点,选择'login',这会向辅助站点发送带有api信息的curl请求,然后在次要站点中进行身份验证。
如果有人有任何想法,只要它危及安全,就越简单越好,或者建议将是最有帮助的。
发布于 2020-11-27 07:49:11
你在备选方案2中的方向更好。你可以考虑一下
password)
如果您在目标站点上启用了SSL,则可以选择,这将更好,因为您可以在卷中启用SSL以避免“中间人”攻击。在这种情况下,请使用以下内容:
// Turn on SSL certificate verfication
curl_setopt($curl, CURLOPT_CAPATH, "/usr/local/www/vhosts/<yourdomainname>/httpdocs/cacert.pem");
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE);https://stackoverflow.com/questions/65033056
复制相似问题