我有一个与画布集成的小型LTI应用程序,在LTI启动后,我无法访问cookie。这在Safari (总是)和Chrome (有时)中是失败的。
我正在强制cookie的SameSite=LAX字段。
我不确定我还应该尝试什么。
发布于 2021-05-25 12:54:15
Chrome (和其他浏览器) 关于饼干和iframe。已经发生了许多变化。对于LTI 1.3启动,这是非常困难的,因为在处理OIDC流时,需要跟踪cookie中的启动状态。
改变的基础是现在有了一个“SameSite”cookie策略,在这个策略中,Only cookies set as SameSite=None; Secure will be available in third-party contexts, provided they are being accessed from secure connections.将cookie标记为Secure和HTTP-Only,这是除了SameSite=None之外必须的。
在Safari中,第三方框架还必须在cookie访问之前请求对存储API的访问。
Firefox正在使用分区的存储方法,因此框架将正常运行,除非您随后将应用程序作为新窗口打开,然后cookie存储可能会遵循,也可能不会遵循,这取决于新窗口的创建方式。
曲奇状态是一个很好的资源,可以跟踪第三方cookie在不同浏览器中是如何工作的,以及您应该更改哪些内容来使其工作。
https://stackoverflow.com/questions/67688350
复制相似问题