登录后设置重定向URL

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

我已将Blazor服务器与Azure B2C Cookie身份验证挂钩

        services.AddAuthentication(AzureADB2CDefaults.CookieScheme)
                .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));

        services.Configure<CookieAuthenticationOptions>(
            AzureADB2CDefaults.CookieScheme, options =>
            {
                options.Cookie.Name = "MyCookieName";
            });

我正在映射控制器,所以要命中控制器端点:

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

在我的Blazor服务器_Host中,我只是使用内置的Authorize服装:

@attribute [Microsoft.AspNetCore.Authorization.Authorize]

在加载时,如果未授权用户,它将重定向到B2C登录,而不会出现问题。然后,我可以登录,它将我带回到应用程序。

但是,我不知道的是登录后如何重定向到specific控制器/操作端点,例如:/api/auth/mynewuser然后该操作将进行一些验证并重定向回“ /”,从而允许用户继续使用Blazor应用程序。

几乎给了我开箱即用的设置...如何实现这一目标?

编辑

代码:

https://github.com/aherrick/BlazorServerB2C

目标是在每次登录/注册后击中该端点:

https://github.com/aherrick/BlazorServerB2C/blob/master/BlazorServerB2C/Controllers/AuthorizeController.cs

azure-ad-b2c blazor blazor-server-side
1个回答
0
投票

[使用Azure AD B2C登录时,B2C服务将令牌发送到“ redirect_uri”。您可以将身份验证route中使用的重定向URL动态提及到特定的控制器/操作终结点。身份验证成功后,这可以帮助应用重定向到控制器。

此外,通过实现AuthorizeView component[Authorize] attribute,您可以轻松处理用户是否已登录。

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