J4N*_*J4N 2 single-page-application .net-core asp.net-core asp.net-core-identity angular
我正在创建一个服务,它将以 Asp.Net Core 作为后端,以 Angular 作为前端。我正在微软为 SPA 提供的不同模板上测试一些内容。
因此,我使用 .Net core 5 cli 使用此命令创建了一个:
dotnet new angular -au Individual
Run Code Online (Sandbox Code Playgroud)
似乎可行,但我的理解是,当我需要将用户重定向到加载页面时(因为未连接或没有足够的权限),我将被重定向到 Asp.Net Core 页面的 UI。
我已经看到我可以自定义此页面(好吧,创建一个脚手架版本并自定义它),但它仍然让我担心:
所以我的问题是,如何对使用 asp.net core 身份的 Asp.Net core 服务器进行身份验证?
Dav*_*ing 15
在示例中,MS 将您推向身份路线并使用 Razor 类库来控制登录/注册功能。它设置为使用 OpenId Connect ( https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth ) 并在每个阶段使用重定向。如果您想让一切保持纯粹的 Angular 并公开 WebAPI 端点进行身份验证,这会很烦人,我不认为 OpenID Connect 会排除这一点。
.NET 文档不太清楚如何调整解决方案以适应纯 SPA 解决方案,但您可以通过编写自己的 WebAPI 控制器来处理注册和登录等。
迄今为止我找到的最好的微软文档在这里: https: //learn.microsoft.com/en-us/dotnet/architecture/microservices/secure-net-microservices-web-applications/
这个答案也非常有用:Use .NET Core Identity with an API。
并检查:使用 asp .net core 3 API 登录 Angular SPA,无需在 SPA 之外重定向
我最初使用 Razor 登录/注册流程,但已经搭建了页面,以便我可以自定义它们。这让我有时间继续 Angular 项目的重要部分,但稍后我可以轻松返回并替换登录流程。脚手架页面包含身份验证流程,因此可以更轻松地查看正在发生的情况。
这里有关于如何将 Razor 页面搭建到项目中的文档: https: //learn.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity
如果您想要自己的类型解决方案,请查看https://jasonwatmore.com/post/2019/10/14/aspnet-core-3-simple-api-for-authentication-registration-and-user-管理
有关 JwtBearerAuthentication 的有用 YouTube 视频:https://youtu.be/h2hGGPHLqqc
这是 Rick Stahl 的一篇精彩文章:https://weblog.west-wind.com/posts/2021/Mar/09/Role-based-JWT-Tokens-in-ASPNET-Core
| 归档时间: |
|
| 查看次数: |
3428 次 |
| 最近记录: |