gpt4 book ai didi

javascript - 如何在 Ajax 的网站和服务之间共享身份验证

转载 作者:行者123 更新时间:2023-11-30 05:51:14 25 4
gpt4 key购买 nike

我有一个 WebSite (MVC 4) 和 WebService (Web API)。 WebSite 有一个身份验证 cookie,它会对其进行解密,以便在 WebSite 服务器端代码调用该服务时将安全 token 发送到 WebService。这很好用。

但是,WebSite 有 JavaScript,我想直接调用 WebService。我已尝试共享 MachineKey 和 Auth 信息,但 cookie 并未跨 WebApi 传输。

我的后备方案是通过网站将所有调用路由到 WebService;但这又丑又慢。

有什么想法吗?

最佳答案

正确答案是达林的。为了在服务站点和网站之间共享登录 cookie,它们都必须在同一个域中;所以例如服务站点可以在

http://svc.mysite.com

网站可能位于

http://www.mysite.com

然后浏览器将允许两个站点共享相同的 cookie。

另一种方法是让站点向服务站点进行身份验证,并获得某种可以传递给 javascript 的 token 。但是,除非您在 HTTPS 上运行,否则这将是非常不安全的,因为 token 将“以明文形式”可用。

最终的机制(也是我认为最常见的解决方案)是通过网站路由所有 API 访问,但这在许多情况下并不理想。

关于javascript - 如何在 Ajax 的网站和服务之间共享身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com