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 ...
随机推荐
- C---指针篇
指针变量:专门存放内存地址的一种变量 听说C因为指针而强大 一段代码来解释 指针 *指针 &指针 &指向变量 的关系 /* * 返回指针所指向内存地址中存放的值 它是单目运算符 也称作 ...
- URL 截取参数 正则
用处很多,记录下. function getvl(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^&am ...
- 程序基石系列之C++多态的前提条件
准备知识 C++中多态(polymorphism)有下面三个前提条件: 必须存在一个继承体系结构. 继承体系结构中的一些类必须具有同名的virtual成员函数(virtualkeyword) 至少有一 ...
- TCP协议和socket API 学习笔记
本文转载至 http://blog.chinaunix.net/uid-16979052-id-3350958.html 分类: 原文地址:TCP协议和socket API 学习笔记 作者:gilb ...
- 九度OJ 1101:计算表达式 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4340 解决:1335 题目描述: 对于一个不存在括号的表达式进行计算 输入: 存在多种数据,每组数据一行,表达式不存在空格 输出: 输出结 ...
- Kotlin基本语法笔记3之定义类、继承及创建实例
定义类 class MyObject private constructor(name: String, age: Int) { private var name: String private va ...
- C++正则表达式笔记之wregex
遍历所有匹配 #include <iostream> #include <regex> using namespace std; int main() { wstring ws ...
- selenium2 python范例
selenium2 python范例 下面脚本的功能是:打开谷歌浏览器-->跳转到某个网址-->输入用户名和密码登录-->读取页面内的数据并求和. # coding=utf-8 #编 ...
- UITextField 对键盘一些常用属性 记录一下
autocapitalizationType 设置键盘自动大小写的属性 UITextAutocapitalizationTypeNone autocorrectionTy ...
- UESTC - 900 方老师炸弹 —— 割点
题目链接:https://vjudge.net/problem/UESTC-900 方老师炸弹 Time Limit: 4000/2000MS (Java/Others) Memory L ...