我应该在 MVC 应用程序中使用哪种 OpenId 授权类型?代码?客户凭证?
Which OpenId Grant Type should I use in MVC application? Code? Client Credentials?
使用 ASP.NET Core 5、Angular 10 和 Identity Server 4 我创建了 4 个应用程序:
- 使用 Identity Server 4 进行身份验证;
- Asp.Net 核心 5 API
- Asp.Net 核心 5 MVC
- Angular 10 SPA
关于 Angular 应用程序 (4) 我正在使用 OIDC Client JS 和 代码授权类型 .
Asp.Net Core 5 MVC 应用程序 (3) 还需要访问 API ...
我正在使用 Identity Model 但我应该在 MVC 应用程序中使用哪种授权类型?
Code 与 Angular 应用程序相同(这可能吗?)? 客户端凭据?
如果您在 MVC 应用程序上登录用户并希望代表用户调用 API,请使用 Code
流程。
在这种情况下,MVC 和 angular 应用程序之间的唯一区别是 Asp.Net Core 5 MVC
是机密客户端,您可以使用 Code
流。但是 Angular 10 SPA
客户端是 public 客户端,您应该使用 Code + PKCE。
尽管在这两种情况下都建议使用 PKCE。
如果您只是通过 MVC 调用 API 作为应用程序本身而不代表用户,您可以使用客户端凭据流。此流程适用于服务器到服务器的场景,并且是安全的。
在这种情况下,您也应该对 MVC 应用程序进行授权。
使用 ASP.NET Core 5、Angular 10 和 Identity Server 4 我创建了 4 个应用程序:
- 使用 Identity Server 4 进行身份验证;
- Asp.Net 核心 5 API
- Asp.Net 核心 5 MVC
- Angular 10 SPA
关于 Angular 应用程序 (4) 我正在使用 OIDC Client JS 和 代码授权类型 .
Asp.Net Core 5 MVC 应用程序 (3) 还需要访问 API ...
我正在使用 Identity Model 但我应该在 MVC 应用程序中使用哪种授权类型?
Code 与 Angular 应用程序相同(这可能吗?)? 客户端凭据?
如果您在 MVC 应用程序上登录用户并希望代表用户调用 API,请使用
Code
流程。 在这种情况下,MVC 和 angular 应用程序之间的唯一区别是Asp.Net Core 5 MVC
是机密客户端,您可以使用Code
流。但是Angular 10 SPA
客户端是 public 客户端,您应该使用 Code + PKCE。 尽管在这两种情况下都建议使用 PKCE。如果您只是通过 MVC 调用 API 作为应用程序本身而不代表用户,您可以使用客户端凭据流。此流程适用于服务器到服务器的场景,并且是安全的。 在这种情况下,您也应该对 MVC 应用程序进行授权。