在 .NET 后端使用 React 身份验证?

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

我们有一个使用 React 前端和 .NET Core 后端的项目。我们正在实施 Ping One 进行身份验证。我们有一个工作版本的身份验证,使用位于here的 SDK。

现在我们还需要在 .NET Core 端对该用户进行身份验证。具体来说,我们需要从

IPrincipal
获取
HttpContext
,我期望这将是具有适当信息集的
ClaimsPrincipal
,更具体地说,
IPrincipal.Identity.Name
字段映射到身份验证声明身份标识符和
IPrincipal.Identity.IsAuthenticated 
字段设置为 true。

然而,我完全不知道如何实现这一点。身份验证上下文确实提供了

access_token
id_token
。有没有办法通过传递
IPrincipal
access_token
来调用
id_token
中的某些内容来设置身份验证会话状态?我确实从研究中看到,似乎确实有一些使用
JwtBearerToken
的概念 - 例如,本教程。这是应该遵循的正确方法吗?如果是的话,我们如何将该信息从客户端传递到服务器?

作为另一种方法,我在SO上看到了https://stackoverflow.com/a/44625464/1289046,作为直接设置

IPrincipal
的潜在方法。这种方法能行得通吗?如果是这样,我需要注意什么潜在的缺点吗?

如果我可以提供任何其他信息,请告诉我,因为这是我不太熟悉的领域 - 过去我们通过简单地调用

Authorize
来使用纯服务器端身份验证,这会完成所有操作为我们工作。

reactjs asp.net-core authentication asp.net-core-3.1 .net-7.0
1个回答
0
投票

只需发布@Peter B 的评论作为答案 - 我们继续更改身份验证流程以使用后端进行身份验证,并且前端会自动识别正在进行身份验证,因为它使用相同的主体。

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