2017-04-24 145 views
1

我试图发布一个新的MVC应用程序到Azure应用服务。该应用程序使用ADFS单点登录身份验证,我在ADFS服务器上添加了信赖方信任关系,并且可以在本地主机上进行测试时登录。MVC-ADFS身份验证 - ADFS重定向到本地主机

在发布到我的应用程序服务并尝试登录后,重定向到ADFS,但一旦通过身份验证重定向到本地主机。

我试图研究这个问题,并发现了以下博客和截图: http://rickrainey.com/2014/07/28/authenticating-with-organizational-accounts-and-azure-active-directory/

Enable Oranisational Authentication

但在Visual Studio 2015年和2017年我的设置是这样的: http://imgur.com/QBmtyjJ

而且以下问题(与VS 2013相关)指向启用组织身份验证,但对已接受答案的评论说该选项已在VS 2015中删除。 Published ASP.NET MVC 5 app with Organizational Account authentication Redirects back to localhost

我的问题是VS 2015或2017中的哪些步骤可以启用组织身份验证,并且一旦ADFS进行身份验证后就可以阻止我的应用程序重定向到本地主机?

回答

0

经过大量的谷歌搜索后,我发现问题没有启用组织身份验证,它实际上是在我的信赖方信任的ADFS设置。

您必须在您的ADFS服务器上编辑依赖方信任。右键单击>属性>端点>添加指向您的https根站点URL的WS联合端点>勾选设置为默认值。

WS-Federation Endpoint

我的网站现在的工作,并与ADFS验证。

0

我宁愿建议你看看到ADFS配置这里

https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-fs/development/single-page-application-with-ad-fs#registering-the-public-client-in-ad-fs

看看重定向ADFS网址:

https://youradfsserver/oauth2/authorize?response_type=id_token&redirect_uri=https%3A%2F%2Flocalhost%3A44388%2F ...... 您有疑问参数名称:redirect_uri,它可能是由您帐户控制器中的SingIn方法构建的

public void SignIn() 
    { 
     // Send an OpenID Connect sign-in request. 
     if (!Request.IsAuthenticated) 
     { 
      HttpContext.GetOwinContext() 
.Authentication.Challenge(new AuthenticationProperties 
{ RedirectUri = "/" }, 
       OpenIdConnectAuthenticationDefaults.AuthenticationType); 
     } 
    } 

确保它没有任何绝对的URL

+0

我预计该应用更有可能是通过OWIN中间件使用ws-federation。 AD FS中的依赖方信任可能配置有指向本地主机的端点。您需要更改RP信任端点以匹配在azure应用服务中托管应用的目标。 – maweeras