首页 > 解决方案 > Blazor 个人帐户失败并显示“ArgumentException:'value' 中的路径必须以'/'开头。(参数'value')”

问题描述

我已经使用 VS2019 社区向导创建了 Blazor 应用程序。我选择了个人帐户并配置如下:

    "AzureAdB2C": {
    "Instance": "https://my-domain-from-azure.b2clogin.com/tfp/",
    "ClientId": "copy-pasted-guid-from-azure-here",
    "CallbackPath": "https://localhost:44308/signin-oidc/",
    "Domain": "my-domain-from-azure.onmicrosoft.com",
    "SignUpSignInPolicyId": "B2C_1_xxxx_signup_signin",
    "ResetPasswordPolicyId": "B2C_1_xxxx_password_reset",
    "EditProfilePolicyId": "B2C_1_xxxx_edit"
}

下一次启动看起来与启动时完全一样:

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
            .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));

        services.AddRazorPages();
        services.AddServerSideBlazor();
        services.AddSingleton<WeatherForecastService>();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("Error");
            app.UseHsts();
        }

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

        app.UseRouting();

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

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
            endpoints.MapBlazorHub();
            endpoints.MapFallbackToPage("/_Host");
        });
    }
}

当我尝试运行应用程序时,我收到以下错误消息: 在此处输入图像描述

这让我发疯,我搜索了 SO,试图从错误处理中删除/添加所有/内容.json.cs但仍然发生错误。

知道我错过了什么,做错了吗?

标签: c#asp.netazure.net-coreblazor

解决方案


尝试将您的 CallbackPath 更改为 /signin-oidc - 即相对 url


推荐阅读