有没有办法在不重定向到ADFS登录页面的情况下使用ADFS进行身份验证?这是我们的情况。
我们有一个使用ADFS进行SSO的AngularJS应用程序。该应用程序是我们AD的依赖方,也与O365资源相关联。目前,它正在努力将用户重定向到ADFS登录页面(如果未经过身份验证),并使用适当的授权代码重定向回我们的应用程序,然后我们通过REST查询来访问O365资源以显示数据(来自Mail,我们的应用程序上的日历等。
我们希望将重定向步骤移除到ADFS,以便用户可以使用我们的应用并获得无缝的登录体验。 ADFS页面看起来使用基于表单的身份验证。我想知道是否有办法通过http请求或其他方法执行身份验证。
答案 0 :(得分:1)
我们构建了一个门户页面来处理外部应用程序的ADFS身份验证。门户网站使用访问控制服务在Azure中注册。进入门户网站后,您可以点击指向我们任何O365网站的链接。
web.config中的此部分执行被动重定向:
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" />
<wsFederation passiveRedirectEnabled="true" issuer="https://{yourACSAccount}.accesscontrol.windows.net/v2/wsfederation" realm="https://{yourportal}" requireHttps="false" />
</federationConfiguration>
</system.identityModel.services>
然后,门户网站上转到O365的链接将链接到adfs登录页面。然后,adfs登录页面会自动将用户重定向到SharePoint。
<a href="https://login.{yourDomain}/adfs/ls/?cbcxt=&popupui=&vv=&mkt=&lc=1033&wfresh=&wa=wsignin1.0&wtrealm=urn:federation:MicrosoftOnline&wctx=wa%3Dwsignin1%252E0%26rpsnv%3D2%26ct%3D1390418246%26rver%3D6%252E1%252E6206%252E0%26wp%3DMBI%26wreply%3Dhttps%253A%252F%252F{yourO365}%252Esharepoint%252Ecom%2fsites%2%26LoginOptions%3D3">
我希望这有助于让您更接近目标。