已发布 ASP.NET 具有组织帐户身份验证的 MVC 5 应用重定向回本地主机

Published ASP.NET MVC 5 app with Organizational Account authentication Redirects back to localhost

我在发布使用组织帐户进行身份验证的 Web 应用程序时遇到问题。即,我选择将其发布在 azure 网站上,使用新的 azure SQL 数据库作为租户数据库。我使用单一帐户并指定 .onmicrosoft.com 域。

一步一步:

  1. 新ASP.NET 应用程序,MVC
  2. 更改身份验证 -> 组织帐户 -> 云 - 单一组织,域:.onmicrosoft.com,访问级别:单点登录
  3. Microsoft Azure -> 云端主机(选中),网站
  4. Azure 中选定的数据库服务器
  5. Debug/Run 在 IIS Express 中按预期工作,它转到组织页面进行身份验证,然后浏览回 Home/Index,在导航窗格中显示用户的电子邮件。
  6. 使用默认(自动生成的)配置文件发布 Web 会产生几个错误: 6.1.它默认浏览到 http 而不是 https 6.2.手动浏览到 https://.... 重定向到 onmicrosoft.com 进行身份验证,身份验证成功完成后,重定向回 https://localhost:xxxxx

在哪里可以为组织帐户配置重定向 URL?之前的一些项目做过微软账号认证,我知道client id和secret id是绑定到特定的returnurl,但是组织时不知道去哪里找应用属性已使用帐户。

谢谢。

预拖动。

回答我的问题。以下是一种可行的工作流程:

  1. 从Visual Studio 2013 年开始,项目->新建->Web->ASP.NET Web 应用程序
  2. 名称:WebApplication2
  3. 新建ASP.NET项目——WebApplication2

    一个。 Select 模板:MVC

    b。更改身份验证

    i.  Organizational Accounts
    ii. Cloud – Single Organization
    iii.    Domain: <organization_name>.onmicrosoft.com
    iv. Access Level: Single Sign On
    

    c。好的

  4. 配置 Microsoft Azure 网站

    一个。网站名称:WebApplicationXXXXX

    b。地区:北欧

    c。数据库服务器:现有数据库服务器

    d。数据库用户名:admin

    e。数据库密码:admin_password

    f。好的

  5. 使用默认配置文件发布而不更改任何参数

    一个。结果将是应用程序中的服务器错误。在地址栏中,它将是 http://webapplicationXXXXX.azurewebsites.net/

  6. 浏览到 https 而不是 http:https://webapplicationXXXXX.azurewebsites.net/

    一个。它将正确重定向到组织帐户。认证成功后,会被重定向回https://localhost:44310/,无法从Azure网站访问,所以会失败。

  7. 再次发布并进行一些更正,Publish Web

    一个。连接->DestinationUrl:https://webapplicationXXXXX.azurewebsites.net/

    b。设置->启用组织身份验证(勾选)

    i.  Domain: <organization_name>.onmicrosoft.com
    
    ii. Access Level: Single Sign On
    

    c。发布

它可能第一次验证失败(不知道为什么),但是当手动浏览到 https://webapplicationXXXXX.azurewebsites.net/ 时,它会正常工作。 通过跳过上面的步骤 5 和 6,工作流程变得可行。这是另一个问题,如果它是最佳的并且根据最佳实践。

您可以在管理面板 (azure) 的活动目录中设置 return url 组织帐户身份验证

Here a good article

Select 您的 Active Directory 中的应用程序,单击应用程序名称 -> 配置 -> 单点登录 -> 配置 return url

我遇到了同样的问题,但发现启用组织身份验证选项已在 Visual Studio 2015 年和 2017 年被删除。

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

我的站点现在可以使用 ADFS 进行身份验证。