IdentityServer4 Code模式(Code)
目录
前言
源码地址:GetHub地址
在密码模式中,需要客户端保存token。code模式改善了这一点,用户的账户密码将不再和客户端存在关系,用户直接去ids4服务器的登录页面登录,登陆成功后提供给客户端一组编码,然后客户端再通过这组编码,向ids4服务器请求token,随后使用token正常访问。当然限制也较多,一般使用在机密型web程序中,
若使用在前后台交互的web程序中是没有意义的
Client Types客户端类型
Confidential 机密的
这种客户端有能力维护其凭据的机密性,位于服务端,例如 使用reazer语法编写的ASP.NET Core MVC
Public 公开的
这种客户端无法维护其凭据的机密性,位于客户端设备,例如 JavaScript(Angular,Vue),移动应用,原生应用/软件等
创建项目
本次需要两个项目,都需要使用HTTPS协议
创建ids4鉴权中心
一 、首先登陆ids4官网,准备搭建ids4环境
二 、使用官网提供的安装命令
打开控制台,输入命令 dotnet new -i IdentityServer4.Templates
成功后如图
三、ids4模板安装好后,我们使用命令创建项目
首先选择需要创建项目的位置
确认后输入代码
dotnet new is4inmem -n AuthenticationIds4Code
一个鉴权模板项目便创建好了
配置项目
创建测试项目
创建mvc项目,需要HTTPS,不使用HTTPS无法正常使用
添加 IdentityServer4 引用
配置项目
项目搭建完毕接下来开始测试
测试调用ids4 鉴权服务器
这里我们将 测试demo端口设置为 5000
ids4鉴权服务器设置为5001