Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication azure开发中使用ACS身份验证的跨域Cookie_Authentication_Azure_Cookies_Cross Domain_Acs - Fatal编程技术网

Authentication azure开发中使用ACS身份验证的跨域Cookie

Authentication azure开发中使用ACS身份验证的跨域Cookie,authentication,azure,cookies,cross-domain,acs,Authentication,Azure,Cookies,Cross Domain,Acs,您好,我正在Azure上开发两个web服务,分别是“domain1.azurewebsite.net”和“domain2.azurewebsite.net”。我已经在同一个Active Directory下的两个服务中实现了ACS身份验证。现在我需要通过domain1.azurewebsite.net登录,并与domain2.azurewebsite.net共享cookie(其中包含身份验证令牌),以便访问domain1中domain2的数据服务 我在网上遵循了这些建议,设置了cookie域=“

您好,我正在Azure上开发两个web服务,分别是“domain1.azurewebsite.net”和“domain2.azurewebsite.net”。我已经在同一个Active Directory下的两个服务中实现了ACS身份验证。现在我需要通过domain1.azurewebsite.net登录,并与domain2.azurewebsite.net共享cookie(其中包含身份验证令牌),以便访问domain1中domain2的数据服务

我在网上遵循了这些建议,设置了cookie域=“.azurewebsite.net”。我希望所有子域(即“*.azurewebsite.net”)都能共享这样的cookie,以便实现跨域的目的。该设置在web.config中完成,如下所示

<system.identityModel.services>
 <federationConfiguration>
  <cookieHandler requireSsl="false"
                 domain=".azurewebsites.net"
                 hideFromScript="false"
                 persistentSessionLifetime="0:30:0" />
  <wsFederation passiveRedirectEnabled="true"
            issuer="https://focusns.accesscontrol.windows.net/v2/wsfederation" 
                realm="urn:Focusns" 
                requireHttps="false"
                persistentCookiesOnPassiveRedirects="true" />
 </federationConfiguration>
</system.identityModel.services>
但是,我的问题是,当登录到domain1.azurewebsite.net时,没有附加带有“.azurewebsite.net”域的cookie。当我检查饼干时,当我使用Chrome、Opera、FF时,我甚至看不到它们。但我确实在IE11中看到了Cookie,其中所有内容都运行良好。我在链接中发现了不同浏览器之间的差异,我怀疑原因是IE不支持主机范围cookie

不管怎样,有人知道我如何解决这个问题吗?我需要它在Chrome、FF等中工作。根据此问题提前感谢 ,

  • 火狐
  • (可能是其他浏览器)
拒绝为公共、共享域后缀设置Cookie(此处列出:)。及 “azurewebsites.net”就是其中之一

IE没有这个限制,可能是因为MS同时拥有这两个


解决方案可能是将站点映射到您自己的自定义域/子域名。您不能在Azure中设置链接子域,如“a.b.azurewebsites.net”。如果可以,你可以为“b.azurewebsites.net”设置cookie,Chrome允许这样做。

看到这个禁止列表真的解决了我的问题。我不知道存在这样一个禁止cookie域的列表。
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://domain1.azurewebsites.net