3

我正在开发一个 Chrome 插件,它需要访问托管在与我的网站相同的域上的 REST Web 服务。Web 服务要求用户登录。网站提供帐户注册和身份验证。我希望能够从插件访问网络服务,而无需用户在已经登录网站时再次从插件登录。我不知道该怎么做。我正在使用 ASP.NET MVC4 为网站提供的表单身份验证。当然,Chrome 插件使用 JavaScript 的 XMLHttpRequest 客户端来调用 Web 服务。

有很多插件可以做到这一点。“Delicious Bookmarks Extension”和“Add to Amazon.com Wishlist”就是几个例子。

4

1 回答 1

1

我没有找到按照我想要的方式做到这一点的方法。出于良好的安全原因,Chrome 不会将一个站点的 cookie 发送到另一个站点,即使其中一个“站点”在技术上只是一个 Chrome 扩展程序。

我最终将需要身份验证的插件部分转换为已登录网站提供的 iframe。这允许 Chrome 在请求 iframe 源时发送 cookie。这就是 Delicious 和 Amazon.com 插件的工作方式。扩展中几乎没有运行代码,它主要由 iframe 中的页面提供。

于 2013-06-24T17:04:01.857 回答