如何将AzureAD经过身份验证的应用程序从开发计算机移动到服务器?

时间:2015-12-08 16:10:31

标签: c# asp.net-mvc azure authentication asp.net-core-mvc

在ASP.NET 5 / MVC 6应用程序(例如asp.net vNext)中,我使用内置模板创建了一个新的Web应用程序。对于身份验证,我选择Work and School Accounts,因为组织中的每个人都有Office365订阅。

enter image description here

模板在Startup.Configure:

中生成以下代码
        app.UseOpenIdConnectAuthentication(options =>
        {
            options.AutomaticChallenge = true;
            options.ClientId = Configuration["Authentication:AzureAd:ClientId"];
            options.Authority = ""https://login.microsoftonline.com/" + Configuration["Authentication:AzureAd:TenantId"];
            options.PostLogoutRedirectUri = "https://localhost:44348/";
            options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        });

这很有效。在不更改任何代码行的情况下,我运行它,首先根据AzureAD对我进行身份验证,然后使用我的身份验证名称返回应用程序。

但现在我想将应用程序部署到在IIS下运行的开发服务器。所以我创建了一个站点,给它一个端口号(比如5000)。然后,我将options.PostLogoutRedirectUri更改为http://localhost:5000/

我运行它,尝试登录,然后收到此错误:The reply address 'http://localhost:5000/signin-oidc' does not match the reply addresses configured for the application: {client id of the app}

enter image description here

那么,如何将我的应用程序从我的电脑移动到开发服务器,然后再移动到测试服务器等等?我想我很困惑,我必须改变。我应该转到Azure并为我计划使用的每个URL创建一个单独的应用程序吗?似乎我可以有多个回复地址,但每个应用只有一个登录URL。

或者我错过了一些更基本的东西?

1 个答案:

答案 0 :(得分:0)

您需要在Azure管理门户中添加新的回复URL。在Azure Active Directory应用程序配置中,添加一个新的"回复URL"在"单点登录"部分。您可以为不同的环境设置多个回复网址。