文章參考:https://davidchen93.blog.csdn.net/article/details/104844667?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.essearch_pc_relevant
解決的辦法:
在提供授權登錄的方法中,設置響應頭信息;
Response.Headers.Add("Set-Cookie", $"uid={str}; SameSite=None; Secure=True;Path=/");
其中 uid爲要共享的cookie名稱,str爲cookie的值。 同時設置SameSite屬性爲None;必須設置 Secure=True.
同時,提供授權的應用必須採用 https。 http無效。
完整方法示例:
public string Get(string callback) { Response.ContentType = "application/json"; Request.Cookies.TryGetValue("uid", out string str); var query = Newtonsoft.Json.JsonConvert.SerializeObject(new { code = str }); Response.Headers.Add("Set-Cookie", $"uid={str}; SameSite=None; Secure=True;Path=/"); return callback + "(" + query + ")"; }