Authentication azure开发中使用ACS身份验证的跨域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中完成,如下所示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域=“
<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等中工作。根据此问题提前感谢
,
- 铬
- 火狐
- (可能是其他浏览器)
解决方案可能是将站点映射到您自己的自定义域/子域名。您不能在Azure中设置链接子域,如“a.b.azurewebsites.net”。如果可以,你可以为“b.azurewebsites.net”设置cookie,Chrome允许这样做。看到这个禁止列表真的解决了我的问题。我不知道存在这样一个禁止cookie域的列表。
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://domain1.azurewebsites.net