IdentityServer4 密码模式(Resource Owner Password Credentials)
前言
源码地址:GetHub地址
一个看似很安全的机制,但最大的问题出现在用户所使用的客户端上,用户的账号密码正是通过这个客户端与ids4服务器进行交互。如果这个客户端非常安全那自然万事大吉,否则这个机制也就无效了,这也造成了这个模式基本没有人使用的原因。
创建项目请参考之前文档
在授权校验服务中配置ids4客户端的参数
以上获取token的授权校验服务就配置好了,接下来我们测试一下
测试获取token
使用命令启动服务,端口号为7200
这里使用测试时需要注意 4.* 一下版本使用form-data格式传递参数,另外需要注意参数名称极其严格
grant_type :验证模式
client_id :配置的客户端ID
client_secret :客户端密码
username : 用户的账号
password : 用户的密码
这里储存一下返回值access_token的token,接下来会用这个token访问页面
在客户端服务中配置
这样就配置好了,AuthenticationScheme Bearer表示使用Bearer方式加密的token,到时候会自动用Bearer解析
测试获取token
启动服务,端口57754
在Authorization中输入之前获取的token,记得输入bearer 标识,最后返回页面
总结
用这个模式一定要慎重,再慎重。