asp.net-core - Asp.Net Core Web API 中 IdentityServer 的哪个 Nuget 包?
问题描述
我有两个需要身份验证和授权功能的 Web 应用程序。服务器端运行 Asp.NET Core 3.0,客户端运行 Angular,我打算用代码交换证明密钥 (PKCE) 流来实现 IdentityServer。官方 IdentityServer 文档 ( https://identityserver4.readthedocs.io ) 指的是包IdentityServer4
,而 dotnet 模板 ( https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-api-authorization?视图=aspnetcore-3.0 ) 使用Microsoft.AspNetCore.ApiAuthorization.IdentityServer
. 我找不到后一个包的正确描述,它被列为 IdentityServer 的实现。但是,两个包之间可用的配置方法是不同的。
我想在我的 Web 应用程序中将 IdentityServer 作为中间件运行,并发出 PKCE 密钥来完整地进行身份验证和授权。我不确定是否IdentityServer4
可以在我的主应用程序中作为中间件运行,或者是否需要在它自己的应用程序中作为中间件,并且不确定是否Microsoft.AspNetCore.ApiAuthorization.IdentityServer
支持 PKCE 流。
哪个包满足我的两个要求?
解决方案
我发现了关于 Microsoft 维护的 nuget 功能的讨论,它在 4 月引用它仅支持隐式流。在稍后阶段,它将支持 PKCE 秘密流。
https://github.com/aspnet/AspNetCore/issues/5833
(IdentityServer4
或专门IdentityServer4.AccessTokenValidation
用于发布 PKCE 机密)可以是我的主应用程序的中间件。
所以我会坚持,IdentityServer4
因为它符合我的两个要求。
推荐阅读
- c++ - ITK 库依赖项错误
- c# - 在没有名称的主键上获取 XML 过滤器
- c# - 使用c#登录网站
- javascript - react-collapsible 编译失败
- debian - 为什么我在 debian 控制台中得到不同的语言?
- performance - aws ElastiCache redis 慢日志具有名为 COMMAND 的命令
- react-native - 反应原生箭头函数和地理查询
- python - 在 debian 上 pip 安装失败并出现 NewConnectionError
- apache-spark - 解释 Spark 库之间的连接,例如 SparkSQL、MLib、GraphX 和 Spark Streaming
- java - 可变长度参数列表将泛型和泛型数组作为参数传递 - Java