IdentityServer4密码模式

Oatuth2协议的密码模式介绍

    • 用户会将用户名,密码给予客户端,但是客户端不保存此信息,客户端带着用户的密码请求认证服务器,认证服务器密码验证通过后后将token返回给客户端。

    •  这里借用下阮一峰老师画的图(博客地址=》http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html)

IdentityServer4密码模式实现

  • 我们不需要修改资源服务器,我们在客户端模式下的认证服务器的Config配置中,添加一个Client,允许我们使用密码模式访问授权服务器获取token,再添加一个测试用户。同时修改我们的startup,在ConfigureServices方法中配置测试用户,代码如下所示:

 //定义可以访问该API的客户端public static IEnumerable<Client> GetClients(){return new List<Client>{new Client(){ClientId = "client",AllowedGrantTypes = GrantTypes.ClientCredentials,  //设置模式,客户端模式ClientSecrets ={new Secret("secret".Sha256())},AllowedScopes = { "api1" }},new Client(){ClientId="pwdClient",AllowedGrantTypes=GrantTypes.ResourceOwnerPassword, //密码模式ClientSecrets= {new Secret("secret".Sha256()) },AllowedScopes= { "api1" }}};}public static List<TestUser> GetTestUsers(){return new List<TestUser>{new TestUser{SubjectId="1",Username="lmc",Password="123456"}};}public void ConfigureServices(IServiceCollection services){services.AddIdentityServer().AddDeveloperSigningCredential().AddInMemoryApiResources(Config.GetApiResources())  //配置资源.AddInMemoryClients(Config.GetClients())            //配置客户端.AddTestUsers(Config.GetTestUsers());            //配置测试用户services.AddMvc();}

此时我们使用我们定义的用户名和密码来访问我们的授权服务器(这里使用postman 要注意body的数据格式为x-www-form-urlencoded)=》

带着我们拿到的token,去访问资源=》


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IKVM 编程武林之.NET派的北冥神功

为什么80%的码农都做不了架构师&#xff1f;>>> 在编程武林中&#xff0c;Java派成立较久底子雄厚&#xff0c;虽然掌门人Sun已经老态龙钟&#xff0c;镇山之技的Java语言已经被后进的新秀.NET派的C#压得喘不过气来&#xff0c;甚至有时候Sun老大还得跑到.NET派潜伏…

php 自定义菜单 openid,微信公众平台开发(99) 自定义菜单获取OpenID

关键字 微信公众平台 自定义菜单 OpenID作者&#xff1a;方倍工作室原文&#xff1a;http://www.cnblogs.com/txw1958/p/weixin-menu-get-openid.html在这篇微信公众平台开发教程中&#xff0c;我们将介绍如何在自定义菜单中获得用户的OpenID。本篇开发教程的实质是微信自定义菜…

mysql优化的重要参数 key_buffer_size table_cache

MySQL服务器端的参数有很多&#xff0c;但是对于大多数初学者来说&#xff0c;众多的参数往往使得我们不知所措&#xff0c;但是哪些参数是需要我们调整的&#xff0c;哪些对服务器的性能影响最大呢&#xff1f;对于使用Myisam存储引擎来说&#xff0c;主要有key_buffer_size和…

上海大华条码称代码_上海大华计价电子秤 使用软件 TM-H 大华条码称设置15KG

电子秤上海&#xff0c;电子秤价格&#xff0c;电子秤上海牌子好 电子秤有哪些电子秤那个牌子好&#xff0c;产品质量好大华电子秤软件下载&#xff0c;大华电子秤设置&#xff0c;大华电子秤软件郑重声明&#xff1a;本店所售大华条码秤&#xff0c;属于上海大华的正品&#x…

代码传奇 | 明明可以靠颜值 却用代码把人类送上了月球的女人——Margaret Hamilton

据说「软件工程师」这个名词就是她发明的玛格丽特站在阿波罗计算机指导手册 (AGC) 的源代码程序列表旁边&#xff0c;这些材料摞起来比她的人还要高。图片来源&#xff1a;Margaret Hamilton缔造传奇的人似乎有个共性&#xff1a;本来没想干一票大的&#xff0c;甚至她的打算都…

如何在 ASP.Net Core 中使用 NCache

虽然 ASP.Net Core 中缺少 Cache 对象&#xff0c;但它引入了三种不同的cache方式。内存缓存分布式缓存Response缓存Alachisoft 公司提供了一个开源项目 NCache&#xff0c;它是一个高性能的&#xff0c;分布式的&#xff0c;可扩展的缓存框架&#xff0c;NCache不仅比 Redis 快…

oracle 动态游标行数,oracle动态游标的简单实现方法

下面就是例子程序--明细表打印予处理 通用报表&#xff1a;procedure mx_print_common(pd_id in mx_pd_syn.pd_id%type,p_pd_mxb_id IN mx_pd_mxb_syn.p_mxb_id%type,p_dept_no IN sc_mxk.dept_code%type,p1 sc_bz_syn.bz_code%type,p2 sc_cjjc_syn.cjjc_code%type,p3 sc_mxk.…

每扇区2048字节的U盘乱码的数据恢复

每扇区2048字节的U盘乱码的数据恢复一个U盘&#xff0c;FAT32分区&#xff0c;显示的是乱码&#xff0c;远程看对方的U盘参数&#xff0c;发现一个比较怪的现象&#xff1a;每扇区字节数是2048字节&#xff08;U盘量产时可能是以光盘形式形成的&#xff09;&#xff0c;对方传的…

为什么有些大公司的效率弱爆了?

阅读本文大概需要5分钟。上周写了篇文章&#xff1a;为什么有些大公司的技术弱爆了&#xff1f;不少朋友读完后表示有同感&#xff0c;还有一些朋友在读者群探讨大公司效率问题。有几个朋友谈到自己的公司效率低下&#xff0c;做一件事需要层层审批&#xff0c;并且遇到各种阻力…

2018年最有前景的十大行业

我们想和大家分享的是围绕十个行业、数十个细分领域&#xff0c;在2018年发展趋势展望&#xff1a;01 消费新零售——平台级近半年&#xff0c;新零售已被多次提及。但在年终盘点我们再次提到这个“热词”&#xff0c;是因为该领域未来还将出现超级平台级的公司。新零售未来更多…

oracle 监听 无法连接,解决ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务...

你还有可能是遇到了定时的问题。如果监听器被重新启动&#xff0c;那么数据库实例就必须向它重新注册。通常情况下&#xff0c;每60秒就会出现这样的问题。如果你迫不及待&#xff0c;那么就以数据库管理员的身份登录到数据库服务器&#xff0c;并且运行“更改系统注册器”&…

下列选项中 采用边界值平滑_数据挖掘期末考题(答案).doc

华南理工大学计算机科学与工程学院2012—2013学年度第二学期期末考试《数据仓库与数据挖掘技术》试 卷(假的)专业&#xff1a;计算机科学与技术 年级&#xff1a;2010 姓名&#xff1a; 学号&#xff1a;注意事项&#xff1a;1. 本试卷共四大题&#xff0c;满分100分&#xff0…

昨日搬至办公室的书籍

由于家里地方小&#xff0c;总有一部分书籍需要跟着我辗转至各公司。其中一些公司只能让我放抽屉&#xff08;地方小&#xff09;甚至地板上&#xff0c;而有一些公司就能让我把书都摞桌子上。昨天下午我特地来了一次办公室&#xff0c;只为搬运书籍。灭霍霍&#xff0c;可真是…

如何在 ASP.Net Core 中对接 WCF

在 REST API 出现之前&#xff0c;SOAP (Simple Object Access Protocol) 一直都是基于 web 的标准协议&#xff0c;虽然现在 REST 大行其道&#xff0c;但在平时开发中总会遇到对接第三方服务采用的是基于SOAP协议的场景&#xff0c;在这篇文章中&#xff0c;我们将会讨论如何…

什么是区块链? 区块链的入门教程~

区块链&#xff08;blockchain&#xff09;是眼下的大热门&#xff0c;新闻媒体大量报道&#xff0c;宣称它将创造未来。可是&#xff0c;简单易懂的入门文章却很少。区块链到底是什么&#xff0c;有何特别之处&#xff0c;很少有解释。下面&#xff0c;我就来尝试&#xff0c;…

linux提升权限命令提示符,win10如何直接使用命令提示符提高管理员权限?

原标题&#xff1a;win10如何直接使用命令提示符提高管理员权限?在使用普通的命令提示符时&#xff0c;如果遇到需要管理员权限的操作&#xff0c;往往需要重新打开一个具有管理员权限的命令提示符页面进行操作。而在Linux操作系统中&#xff0c;可以通过输入su来获取系统最高…

require引入js vue_请教 关于使用require 引入vue 和公共js的问题

移动端布局 计算font-size的1、引入公共样式失败。没有去计算2、aa 是vue 引入成功。 但是 我以后一个文件需要一个vue 文件 应该怎么引入好点啊。 怎么分解开进行引入?3、在vue的情况下。 引入Mint UI我理解是在main的文件里面加载vue Mint ui 和一些公共样式。 在页面引入ma…

探索 .NET Core 依赖注入的 IServiceProvider

在上一篇文章中&#xff0c;我们学习了Microsoft.Extensions.DependencyInjection中的IServiceCollection&#xff0c;包括服务注册转换为ServiceDescriptors&#xff0c;然后添加到集合中。探索 .NET Core 依赖注入的 IServiceCollection[1]在本文中&#xff0c;我们会学习 IS…

《WinForm开发系列之控件篇》Item1 BackgroungWorker

cranejuan的专栏 BackgroundWorker实现原理 winfom組件---BackgroundWorker转载于:https://www.cnblogs.com/Sue_/articles/1657254.html

如何快速高效地学习互联网新技术

我们生活在一个振奋人心的时代&#xff0c;区块链、人工智能、大数据&#xff0c;现在各种新技术层出不穷&#xff0c;那么如何快速高效地学习互联网新技术呢&#xff1f;我认为首先思想要主动求变&#xff0c;敢于跳出自己的舒适区&#xff0c;对任何技术都抱有开放的心态。贪…