最佳答案
我到处搜索如何在 asp.net 核心中用 IdentityServer4注册 UserService,但似乎找不到正确的方法。
这是注册 InMemory 用户发现的 给你的代码,但是我想访问我的 MSSQL 数据库中定义的用户不是静态用户的示例。
var builder = services.AddIdentityServer(options =>
{
options.SigningCertificate = cert;
});
builder.AddInMemoryClients(Clients.Get());
builder.AddInMemoryScopes(Scopes.Get());
builder.AddInMemoryUsers(Users.Get());
然后我看了 这个代表 IdentityServer3身份服务器3。
var factory = new IdentityServerServiceFactory()
.UseInMemoryClients(Clients.Get())
.UseInMemoryScopes(Scopes.Get());
var userService = new UserService();
factory.UserService = new Registration<IUserService>(resolver => userService);
通过在线阅读,我似乎需要使用 DI 系统来注册 UserService,但我不确定它如何绑定到 IdentityServer,例如。
services.AddScoped<IUserService, UserService>();
所以我的问题是:
如何将 UserService绑定到构建器(IdentityServer4用户) ?如何调用数据库来访问和验证 UserService中现有的 db 用户(我使用存储库连接到 db) ?
考虑到这个 已经与 Asp.net 核心一起工作。
谢谢!