天天看点

IdentityServer4 登录使用数据库

业务场景:

IdentityServer4 默认使用<code>TestUser</code>和<code>UserStore</code>,需要模拟和加载所有的用户数据,正式环境肯定不能这样实现,我们想从自己的数据库中读取用户信息,另外,因为 IdentityServer4 实现了 OpenId 协议,我们想在用户登录的时候,在请求中添加用户的一些额外信息,这样就不需要再去请求用户服务了。

具体实现:

<code>Startup</code>添加对应配置(注入服务接口):

上面代码,会在<code>await _interaction.GrantConsentAsync(request, grantedConsent);</code>执行的时候执行,用户登录直接访问数据库写在<code>Login</code>中,就可以了。

如果授权模式为密码模式,需要去实现<code>IResourceOwnerPasswordValidator</code>接口。

本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/identityserver4-login-with-database.html,如需转载请自行联系原作者