15.oauth2 + oidc 实现 server部分
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实现了登陆,并实现了跳转
这样我们登陆的逻辑就实现完了
15.oauth2 + oidc 实现 server部分的更多相关文章
- 【ASP.NET Core分布式项目实战】(二)oauth2 + oidc 实现 server部分
本博客根据http://video.jessetalk.cn/my/course/5视频整理(内容可能会有部分,推荐看源视频学习) 资料 我们基于之前的MvcCookieAuthSample来做开发 ...
- 16.oauth2 + oidc 实现 client部分
把授权和认证过的Server启动一下先 因为代码是之前的代码,所以有些代码需要清除一下 之类注释掉,因为这里暂时没有用到EFCode了 运行的时候发现一点错误 发现登陆的时候使用的RegisterVi ...
- 15-oauth2+oidc实现Server部分
1-我们使用之前项目的mvcCookieAuthSampe2进行改造 1.1 增加IdentityServer4 2-增加Config.cs文件,对IdentityServer提供相关的配置数据 u ...
- ASP.NET Core分布式项目实战
ASP.NET Core开发者成长路线图 asp.net core 官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/ ...
- 【笔记目录1】ASP.NET Core分布式项目实战
当前标签: ASP.NET Core分布式项目实战 共2页: 1 2 下一页 35.Docker安装Mysql挂载Host Volume GASA 2019-06-20 22:02 阅读:51 评论 ...
- 使用OAuth Server PHP实现OAuth2服务
在现在的网络服务中,OAuth2.0服务已经很普遍了,无论是facebook或者微博的第三方登录,还是手机APP登录,都有很广泛的应用.它主要的目的如下:如果用户的照片在A网站,他想要在B网站使用A网 ...
- 使用 OAuth2-Server-php 在 Yii 框架上搭建 OAuth2 Server
原文转自 http://www.cnblogs.com/ldms/p/4565547.html Yii 有很多 extension 可以使用,在查看了 Yii 官网上提供的与 OAuth 相关的扩展后 ...
- 使用 OAuth2-Server-php 搭建 OAuth2 Server
Yii 有很多 extension 可以使用,在查看了 Yii 官网上提供的与 OAuth 相关的扩展后,发现了几个 OAuth2 的客户端扩展,但是并没有找到可以作为 OAuth2 Server 的 ...
- oauth2(转载http://www.rollosay.com/it/%E4%BD%BF%E7%94%A8OAuth-Server-PHP%E5%AE%9E%E7%8E%B0OAuth2%E6%9C%8D%E5%8A%A1)
http://www.rollosay.com/it/%E4%BD%BF%E7%94%A8OAuth-Server-PHP%E5%AE%9E%E7%8E%B0OAuth2%E6%9C%8D%E5%8A ...
随机推荐
- Git bare repo with multiple branches
http://stackoverflow.com/questions/9324762/git-bare-repo-with-multiple-branches Q: I want to make a ...
- iOS移动开发周报-第19期
iOS移动开发周报-第19期 前言 欢迎国内的iOS同行或技术作者向我提交周报线索,线索可以是新闻.教程.开发工具或开源项目,将相关文章的简介和链接在微博上发布并 @唐巧_boy 即可. [摘要]:本 ...
- Java 语法清单
Java 语法清单 Java 语法清单翻译自 egek92 的 JavaCheatSheet,从属于笔者的 Java 入门与实践系列.时间仓促,笔者只是简单翻译了些标题与内容整理,支持原作者请前往 ...
- 侧边打赏-html
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- LeetCode(82)题解: Remove Duplicates from Sorted List II
https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/ 题目: Given a sorted linked list, ...
- Easyui datagrid 怎么添加操作按钮,rowStyler
说明:本篇文章主要是展示怎么设置easyUI datagrid的格式,包括行样式和列样式,以及添加操作按钮列 开发环境 vs2012 asp.net mvc4 c# 1.效果图 3.HTML代码 & ...
- JAVA工厂方法模式(Factory Method)
1.普通工厂模式 普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建. 1-1.建立Sender接口 public interface Sender { public void ...
- tornado安全应用之cookie
目前大多数服务器判断用户是否登录一般通过session机制,Tornado 通过 set_secure_cookie 和 get_secure_cookie 方法直接支持了这种功能.原理类似于sess ...
- protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object
使用protobuf出错:protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object ...
- dokcer3
安装好的文件位置: /usr/sbin/nginx:主程序 /etc/nginx:存放配置文件 /usr/share/nginx:存放静态文件 /var/log/nginx:存放日志 其实从上面的根目 ...