OAuth主要做授权。
OpenIdConnect简历在OAuth2.0基础之上的,相结合
客户端、授权中心、Resource Owner用户本身(资源的拥有者)、Resource Server

通过ProfileService把Cliams转换返回给客户端

这个代码里面已经包含了最新的登陆和注册

启动程序


在这个例子之上进行IdentityServer的开发。把MVC的注册和登陆变成一个单点登陆,把他的登陆信息返回给第三方

输入IdentityServer4,添加上最新的包引用


这时候需要一个config,创建一个config.cs的类,把之前写过的config拷贝过来


现在是个空的

之前代码拷贝过来,只保留一个Client

这里我们用隐式的流程,隐式模式和授权码的模式非常像

然后再定义ApiResource

再定义TestUser在这个命名空间下


claims先去掉,这里先不加

这几个都是config内获取的

这里还需要加IdentityResource

所以这里需要再新建一个方法返回IdentityResource的可枚举类型

openId、Profile、Email是IdentityServer测试的方法给我们提供的

把它添加到config的配置里面

最后在mvc的这里添加上IdentityServer()的中间件
这里的UseAuthentication我们去掉了

IdentityServer()的中间件

这样我们就把IdentityServer添加到我们的MVC程序里了

在Controller里面把逻辑实现

把原来登陆的逻辑去掉。
这里注释掉


注册的代码全部注释掉

这里注释

使用SignOutAsync来替代

改造登陆

users注入一下

修改这里的登陆的ViewModel,Emial修改为UserName

登陆页面view内也要绑定为UserName



登陆成功我们需要传一些参数过去。这样就通过IdentityServer4实现了登陆,并实现了跳转

这样我们登陆的逻辑就实现完了

最新文章

  1. web app iphone4 iphone5 iphone6 响应式布局 适配代码
  2. word-spacing汉字不起作用的解决方法
  3. 移动端HTML5<video>视频播放优化实践[转]
  4. Lock锁
  5. 翻译「C++ Rvalue References Explained」C++右值引用详解 Part1:概述
  6. SharePoint 2010 Ribbon的实现
  7. 中国区Windows Azure 提供的功能以及与国外的差异
  8. hdu 4605-Magic Ball Game(树状数组)
  9. 集美大学网络1413第十一次作业成绩(团队七) -- Alpha冲刺之事后诸葛亮
  10. Java开发笔记(四十三)更好用的本地日期时间
  11. 海思编译链编译出现__aeabi_unwind_cpp_pr1重定义怎么回事
  12. 假设在本地搭一个server和mysql数据库环境,假设使用java来訪问数据库
  13. ZooKeeper用途
  14. node day2 vue read html
  15. Python IPy模块
  16. git 不区分文件大小写的处理
  17. RESTful Web Service 架构
  18. css外层透明,内层不透明
  19. sqli-labs:17,增删改
  20. elasticsearch6.0版本安装head插件

热门文章

  1. Linux虚拟服务器--LVS
  2. Laravel建站05--缓存、时间日期处理包
  3. React Examples
  4. windows下route命令详解(转载)
  5. java集合类学习心得
  6. spawn类expect方法详解
  7. 相机标定过程(opencv) + matlab参数导入opencv + matlab标定和矫正
  8. 转载-jmeter进阶功能
  9. Vue实战指南之依赖注入(provide / inject)
  10. BZOJ_1296_[SCOI2009]粉刷匠_DP