我正在开发一个Chrome插件,需要访问与我的网站托管在同一域中的REST Web服务。 Web服务要求用户登录。该网站提供帐户注册和身份验证。我希望能够从插件访问Web服务,而无需用户在已经登录到网站时再次从插件登录。我不知道该怎么做。我正在使用ASP.NET MVC4为该网站提供的表单身份验证。当然,Chrome插件使用JavaScript的XMLHttpRequest客户端来调用Web服务。
有许多插件可以做到这一点。 “Delicious Bookmarks Extension”和“Add to Amazon.com Wishlist”就是几个例子。
答案 0 :(得分:1)
我找不到按照我想要的方式做到这一点的方法。出于安全原因,Chrome不会将一个网站的Cookie发送到另一个网站,即使其中一个“网站”在技术上只是Chrome扩展程序。
我最终将需要身份验证的插件部分转换为已登录的网站提供的iframe。这样,Chrome就可以在请求iframe源时发送Cookie。这就是Delicious和Amazon.com插件的工作方式。扩展中几乎没有代码运行,它主要由iframe中的页面提供。