首页 > 解决方案 > 使用身份服务器托管的 Blazor Webassembly 进行用户身份验证,如何对外部 api 调用进行身份验证?

问题描述

TLDR;如何使用 IdentityServer 验证来自第三方应用程序的传入 api 调用?


我创建了一个带有个人帐户身份验证类型(如 img1 所示) img1的 blazor webassembly 托管应用程序。然后搭建 Identity 并进行必要的更改以将服务器与我的客户端 [authorize] 属性绑定(如 img2 所示)img2。这一切都很好,但现在我必须验证来自外部应用程序的 API 调用,我也可以访问这个应用程序的源代码。


显示了很多场景,但似乎没有一个适合我的特定用例 https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-identity-server?view=aspnetcore -5.0&tabs=visual-studio我在两个服务上都有相同的用户名/密码(两个不同的数据库)似乎我需要做的就是通过 httpPost 发送用户名和密码(加密)并将其插入 IdentityServer 和取回登录时生成的令牌,然后我可以发回。这些方法都是隐藏的,我不知道 entityframeworks 是如何生成令牌的。有什么想法/我还有路要走吗?我应该从 Auth0 重新开始吗?在 IdentiyServer 一直在使用之后,没有一种简单的方法可以做到这一点,这对我来说似乎很疯狂。

标签: c#asp.net-coreauthenticationjwtasp.net-core-identity

解决方案


推荐阅读