單點登入 跨域寫cookie的實現

2022-09-13 12:00:12 字數 819 閱讀 3855

不多說,上**:

登入

test1.php

<?php

//隨便寫就好了,狀態碼是200就ok

test2.php,這裡是跨域訪問,有些**被注釋了,這裡用不到。

<?php 

// 指定允許其他網域名稱訪問

header("access-control-allow-origin: *");

// 是否允許後續請求攜帶認證資訊(cookies),該值只能是true,否則不返回

header("access-control-allow-credentials: true");

// 允許的請求頭欄位

// header("access-control-allow-headers: *");

/** set-cookie由伺服器傳送,它包含在響應請求的頭部中。它用於在客戶端建立乙個cookie

* samesite的值可以設定為3種:strict lax none

* 其中strict最為嚴格,如果設定為strict,上表的方式均無法附帶cookie。lax稍微寬鬆點,設定為lax,會限制部分請求。

* 當設定為none的時候表示關閉不啟用samesite防護。

*/header("set-cookie: admin=demo; secure=true; path=/; domain=b.com; samesite=none");

需要特別注意的地方:

1、一定要是https請求;  

2、實際專案中一定要有驗證。

跨域 Cookie 實現單點登入

單點登入 sso single sign on 對於同乙個客戶端 例如 chrome 瀏覽器 只要登入了乙個子站 例如 a.com 則所有子站 b.com c.com 都認為已經登入。比如使用者在登入 後,跳轉到天貓時就已經登入了。未登入使用者訪問子站 a.com 進行登入,自動跳轉到賬戶中心的統一...

cookie跨域問題 跨域登入

cookie跨域時修改不成功,需要在刪除 或者修改時 設定domain值與存入的domain一致,跨域修改cookie不會成功。例如 login.abc.com login工程 www.abc.com abc工程 www.abc.com login.html呼叫login工程的登陸介面 login工...

SSO C 跨域單點登入 二

開始新建乙個站點sitea,同時引用 前面建的web服務 建立basepage.cs類 頁面基類 public class basepage page 登入站點a user.username else else base.onload e 建立乙個default.aspx頁面 開始新建乙個站點sit...