0

使用 ASP.NET Core 5、Angular 10 和 Identity Server 4,我创建了 4 个应用程序:

  1. 使用身份服务器 4 进行身份验证;
  2. Asp.Net Core 5 API
  3. Asp.Net Core 5 MVC
  4. 角 10 SPA

在 Angular 应用程序 (4) 上,我使用的是OIDC Client JSCode Grant Type

Asp.Net Core 5 MVC应用(三)也需要访问API ...

我正在使用身份模型,但我应该在 MVC 应用程序中使用什么授权类型?

Angular 应用程序中的代码(这可能吗?)?客户凭证?

4

1 回答 1

2
  1. 如果您在 MVC 应用程序上登录用户并希望代表用户调用 API,请使用该Code流程。在这种情况下,MVC 和 Angular 应用程序之间的唯一区别是它Asp.Net Core 5 MVC是一个机密客户端,您可以使用Codeflow。但是Angular 10 SPA客户端是公共客户端,您应该使用 Code + PKCE。虽然建议在这两种情况下都使用 PKCE。

  2. 如果您只是通过 MVC 并作为应用程序本身而不是代表用户调用 API,则可以使用客户端凭据流。此流程适用于服务器到服务器的场景,并且是安全的。在这种情况下,您也应该对 MVC 应用程序进行授权。

于 2020-11-10T04:11:01.077 回答