IonicCordova认证与ACS

问题描述 投票:0回答:1

背景:我们在Azure ACS和ADFS上设置了一个WebAPI,用于验证。我们已经设置了一个WebAPI,使用Azure ACS和ADFS进行认证。

通过浏览器访问任何 WebAPI 资源,都会将未认证的用户重定向到通过 ACS 的 ADFS 登录页面。成功登录后,用户将被重定向到 ACS 中设置的返回 Url 以及安全令牌。这样做非常好。

问题:我们正在使用ACS开发一个移动应用。我们正在使用Ionic框架开发一个移动应用程序(http:/ionicframework.com。). 我们想利用与WebAPI相同的ACS和ADFS进行认证。在这个过程中,我们面临以下问题。

问题1:通过移动应用程序(Ionic, Cordova, AngularJS)访问任何WebAPI资源,都会将用户重定向到ACS,我们得到以下错误。

XMLHttpRequest cannot load https://{domainname}.accesscontrol.windows.net/v2/wsfederation?wa=ws…52fitem&wct=2014-10-10T14%3a24%3a34Z&whr=https%3a%2f%2f{domainname}.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 

因此,我们无法通过ACS认证任何用户的移动应用。

问题2:在ACS中设置返回URL为空,会出现下面的错误。

ACS90050: No reply address is configured with the relying party principal. 

到目前为止采取的步骤。-> 我们已经在WebAPI上启用了CORS。

authentication cors asp.net-web-api ionic-framework acs
1个回答
0
投票

我们提交的票与微软,看看是否可以启用CORS在ACS。我们得到了以下回复。

ACS不提供CORS解决方案,我们没有研究的可能性。不幸的是,答案仍然是:"没有ACS不提供CORS解决方案"。也就是说,ACS不给我们提供标准的跨域解决方案的根的访问权限。此外,提供令牌被认为是HTTPOnly,因为用Javascript操作令牌本身就很危险。

如果你想走这条路,有一个样本可以为你提供指导,尽管出于安全方面的考虑,我们并不推荐这样做。下载样本的网址是

Windows Azure AD 访问控制 (ACS) 代码示例。 https:/code.msdn.microsoft.comWindows-Azure-AD-Access-0dcde385。

下面的示例。C#Webservice/ACS2WindowsPhoneSample下的样本可以提供一些指导,但我们无法协助修改该样本。

© www.soinside.com 2019 - 2024. All rights reserved.