首页 > 解决方案 > 使用 Azure AD 登录 Web 应用程序时出现可怕的 AADSTS50011 回复 url 错误 - 在 localhost 上运行良好

问题描述

有一个 C# LoB 测试应用程序使用 Azure AD 很好地进行身份验证和授权,回复 url 为 /signing-oidc

突然停止验证,出现可怕的 AADSTS50011 url 错误。

我不明白为什么这会改变?

将 Microsoft.Identity.Web 与以下 startup.cs ConfigureServices 和 Configure 方法一起使用:

   public void ConfigureServices(IServiceCollection services) {

        services.AddMicrosoftIdentityWebAppAuthentication(Configuration);
            //.EnableTokenAcquisitionToCallDownstreamApi();

        services.AddControllersWithViews(options => {
            var policy = new AuthorizationPolicyBuilder()
                .RequireAuthenticatedUser()
                .Build();
            options.Filters.Add(new AuthorizeFilter(policy));
        });


        services.AddRazorPages().AddMvcOptions(options => {
            var policy = new AuthorizationPolicyBuilder()
                          .RequireAuthenticatedUser()
                          .Build();
            options.Filters.Add(new AuthorizeFilter(policy));
        }).AddMicrosoftIdentityUI();

        services.AddServerSideBlazor(o => o.DetailedErrors = true);
        services.AddScoped<IGpsDataService, GpsDataService>();
        services.AddTelerikBlazor();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
        if (env.IsDevelopment()) {
            app.UseDeveloperExceptionPage();
        }
        else {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseStaticFiles();

        app.UseRouting();

        app.UseAuthentication();
        app.UseAuthorization();

        app.UseEndpoints(endpoints => {
            endpoints.MapDefaultControllerRoute();
            endpoints.MapControllers();

            endpoints.MapBlazorHub();
            endpoints.MapFallbackToPage("/_Host");
        });
    }

几乎是样板。

谁能指出我正确的回调网址?我将它作为 /signin-oidc 并在 appsettings.json 文件和 Azure AD 应用身份验证设置中进行了配置。

难倒。在本地主机上运行良好,但在 Azure ‍♂️</p>

标签: azure-active-directory

解决方案


针对此类问题,可以尝试通用的解决方案:

当您访问应用程序 url 时,您将被重定向到登录页面。将授权请求url解码,你会发现redirect_url,将其值复制redirect_url并粘贴到天蓝色的门户中,然后重试。

在此处输入图像描述

重定向 URL 应以 https 开头,如果需要以 开头http,则必须配置为http://localhost.


推荐阅读