使用授权代码流和 PKCE 保护 .Net Core Web API

问题描述 投票:0回答:1

我有一个位于公司网络内的.Net core Web API,它是一个独立的服务,将由网络内的其他应用程序使用。 Web API 非常简单,并且端点很少。但是,我想限制对此 Web API 的访问。仅允许给定的应用程序集访问此 Web API。在我们公司内部,我们有身份验证和授权服务作为身份提供服务器,我们必须使用此服务来获取访问令牌等。我们无法创建自己的身份服务器来生成令牌。在我们的设计阶段,我们确定使用 PKCE 的授权代码流将是一个理想的实现。

我们的身份提供商已经加入了测试客户端 ID 并使用 PKCE 配置了身份验证代码流程,之后当我配置 .net core Web API 时,我意识到我们需要为用户登录提供重定向 URL,这是一个令人困惑的点,因为这是一个 Web API,没有登录页面。我想说的是,当我们在授权码流程的第一步中获取授权码时,我不清楚重定向如何工作,因为没有登录页面可以在 Web API 中重定向,我的意思是在获取授权码时,必须提供一个重定向 uri,用户将在其中输入用户 ID 并通过,但这是一个 Web API,没有用户/密码,只有另一个尝试使用客户端 ID 访问的客户端应用程序。所以我的问题是如何在 Web API 环境中使用 OIDC PKCE,我确信这是可能的,但我没有找到任何相关文档。任何 .Net 核心代码示例将不胜感激。不,我们不能使用客户端密钥或隐式工作流程。

期待您的回复。

.net oauth openid-connect webapi pkce
1个回答
0
投票

为什么不直接使用通过 PKCE 流程从客户端获取的不记名令牌,并在 API 上验证该令牌作为身份验证中间件的一部分进行身份验证?

© www.soinside.com 2019 - 2024. All rights reserved.