首页 > 解决方案 > 自动验证角点网核心模板应用程序的最佳方法

问题描述

我创建了一个带有身份的 dot net core 3.1 angular 8 模板应用程序,即开箱即用的产品。我已添加外部 Microsoft 帐户提供程序。

services.AddAuthentication()
                .AddIdentityServerJwt()
                .AddMicrosoftAccount(options=> {
                    options.ClientId = microsoftClientId;
                    options.ClientSecret = microsoftClientSecret;
                    options.AuthorizationEndpoint = microsoftAuthorizationEndpoint;
                    options.TokenEndpoint = microsoftTokenEndpoint;
                });

如果我单击登录,它会将我重定向到登录页面,我可以在其中单击 Microsoft 按钮,并让它将我重定向到外部 Microsoft 登录页面。我可以成功登录应用程序。

而不是这个,我希望应用程序在应用程序首次运行时自动重定向到外部 Microsoft 提供程序。因此,它不会看到应用程序主页,而是直接转到 Microsoft 登录页面(如果尚未登录)。

我如何实现这一目标?

标签: angular.net-coreidentityserver4

解决方案


我假设您已经完成了身份验证的一部分并且它可以工作,但唯一的问题是您想在页面呈现之前重定向用户。如果我是对的,我认为最好的解决方案是使用CanActivate警卫,您可以在其中定义自己的方式来检查用户在访问路由之前是否已经过身份验证。您可以在此处阅读更多相关信息:https ://angular.io/api/router/CanActivate

这是你的问题的答案吗?


推荐阅读