【发布时间】:2021-07-14 20:16:00
【问题描述】:
我目前有一个 Blazor WASM 项目,该项目从 AspNetCore 5 应用服务获取其 ID/访问令牌,其中 IdentityServer4 IDP 托管在 Azure 中,利用 Microsoft Identity 作为用户存储。 IDP 中的 MS 身份组件使用的实际数据库托管在 Azure SQL 中。我还有一个单独的 AspNetCore 5 Web API 解决方案,该解决方案针对 IDP 进行了身份验证。
目前,新用户需要使用 IDP 中的 MS 身份注册 UI 进行注册。
现在我有一个请求,允许站点管理员为其组织创建初始用户(可能是批量或批量),而不是让用户自己直接访问 IDP 中基于 MS 身份的注册链接。
所以我想我基本上可以在我的 API 中创建一个用户控制器,该控制器通过 EntityFramework 连接到我的 IDP 使用的 Azure SQL 数据库。我希望我能以某种方式利用 Microsoft.AspNetCore.Identity 包来利用我的 AspNetCore 5 API 中用于 UserManager、RoleManager、IdentityUser 等的 Identity 项目的类和方法。但是,我看不到如何在Startup.cs --> ConfigureServices 以便我可以通过 DI 在我的 API 服务中实际访问 UserManager 和 RoleManager 工具(例如)。
我不希望在此处实际验证登录或生成我自己的身份/访问令牌。我只想创建/编辑用户,可能是批量或批量。
我不认为使用...
services.AddIdentity<User, IdentityRole>()
.AddRoles<IdentityRole>()
.AddRoleManager<RoleManager<IdentityRole>>()
.AddEntityFrameworkStores<UsersDbContext>(); services.AddIdentity
在我的 API 的 startup.cs 中,这似乎会干扰...
services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
...
...
});
我用于验证访问令牌。
我只是想我可以使用 Microsoft 的 AspNetCore Identity 包从我自己的 API 中访问 CRUD 用户帐户所需的用户和角色工具,也许是批量访问,而不是在我的 API 中扮演我自己的类和方法。
有谁知道这是否可行,如果可以,如何在 DI 中正确注册 Microsoft AspNetCore Identity 服务?
【问题讨论】:
-
嗨 @whiskytangofoxtrot,您可以将 Identity 与 jwt 令牌身份验证一起使用。
标签: asp.net-core asp.net-identity identityserver4