Azure Graph API - 多个 Web 平台重定向 URL 不起作用

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

我正在使用 Azure Graph API,当我仅配置一个具有一个重定向 URL 的 Web 平台时,它运行良好。

当我添加多个 Web 平台并具有多个重定向 URL 时,它总是重定向回最后/最新的重定向 URL。

enter image description here

public void Configuration(IAppBuilder app) {
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
            
            var _Configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
            var RedirectUri = _Configuration.GetSection("AzureAd:RedirectUri").Value;

            app.UseCookieAuthentication(new CookieAuthenticationOptions());
            OwinTokenAcquirerFactory factory = TokenAcquirerFactory.GetDefaultInstance<OwinTokenAcquirerFactory>();
            
            app.AddMicrosoftIdentityWebApp(factory);
            factory.Services
                .Configure<ConfidentialClientApplicationOptions>(options => { options.RedirectUri = RedirectUri; })
                .AddMicrosoftGraph()
                .AddInMemoryTokenCaches();
            factory.Build();
        }
// Sign in


            if (!Request.IsAuthenticated) {
                var context = HttpContext.GetOwinContext();
                context.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
                context.Authentication.Challenge(
                    new AuthenticationProperties { RedirectUri = RedirectUri },
                    OpenIdConnectAuthenticationDefaults.AuthenticationType);
            }

由于我配置了多个 url,它应该适用于托管的不同应用程序。

azure-active-directory microsoft-graph-api
1个回答
0
投票

这对我有用:

app.AddMicrosoftIdentityWebApp(factory, updateOptions: options =>
{
     options.RedirectUri = MyRedirectUri;
});

请参考

https://github.com/AzureAD/microsoft-identity-web/issues/2313

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