目录:

一、通过Dapr实现一个简单的基于.net的微服务电商系统

二、通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解

三、通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr

四、通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布

通过Dapr实现一个简单的基于.net的微服务电商系统(五)——一步一步教你如何撸Dapr之状态管理

通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务

通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流

通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权

在上一篇文章中案例使用了github的oauht2.0授权,实际上使用哪个平台并不局限,只要平台实现了oauth2.0标准都可以接入。本节我们聊聊如何集成百度oauth2.0。

  本来想集成微信/QQ/微博的,结果发现不是需要企业资质就是要个人认证,就百度开放平台不需要,就用百度来演示吧。

  首先我们需要注册并登录百度开发者平台,同时创建一个应用,获取它的API Key和Secret Key

  进入应用详情后在点击左下角的安全设置,配置我们的鉴权域名【http://oauth.dapreshop.com:30882】到授权回调页并禁用Implicit Grant授权方式,其他不用填如下图:

    接着修改我们的component文件,录入刚才我们获取的API Key和Secret Key到clientid和clientsecret一栏,并修改scopes、authURL、redirectURL如下所示,修改完毕后记得重新apply一下

apiVersion: dapr.io/v1alpha1

kind: Component

metadata:

name: baiduauth

namespace: dapreshop

spec:

type: middleware.http.oauth2

version: v1

metadata:

- name: clientId

value: ""

- name: clientSecret

value: ""

- name: scopes

value: "basic"

- name: authURL

value: "http://openapi.baidu.com/oauth/2.0/authorize"

- name: tokenURL

value: "https://openapi.baidu.com/oauth/2.0/token"

- name: redirectURL

value: "http://oauth.dapreshop.com:30882"

- name: authHeaderName

value: "myauth"

 4、修改一下获取用户信息的代码(这里是演示所以百度返回的openid我取前n位做登录名):

var model = new Model() { login = "" };

if (HttpContextExt.Current.Headers.Any(x => x.Key.ToLower().Equals("myauth")))

{

var requestUri = new Uri($"https://openapi.baidu.com/rest/2.0/passport/users/getLoggedInUser?access_token={HttpContextExt.Current.Headers.FirstOrDefault(x => x.Key.ToLower().Equals("myauth")).Value.Replace("Bearer ", "")}");

var result = await httpClientFactory.CreateClient().GetAsync(requestUri);

if (result.IsSuccessStatusCode)

{

var content = await result.Content.ReadAsStringAsync();

baidumodel obj = JsonSerializer.Deserialize<baidumodel>(content);

HttpContextExt.Current.Response.Cookies.Append("githubuser", JsonSerializer.Serialize(new Model() { login = obj.openid.Substring(0,8), name = obj.uname, avatar_url = $"http://tb.himg.baidu.com/sys/portraitn/item/{obj.portrait}" }),

new Microsoft.AspNetCore.Http.CookieOptions() { Domain = "dapreshop.com" });

HttpContextExt.Current.Response.Redirect("http://admin.dapreshop.com:30882");

}

}

return model;

  重新启动整个demo,这时候再次点击图标,我们会跳转至百度的授权页

  回跳后重新初始化就能看到我们取到了百度授权的用户信息

相关文章:

  • Dapr能否引领云原生中间件的未来?

  • 云原生 | 阿里巴巴的Dapr实践与探索

  • Dapr | 云原生的抽象与实现

  • Dapr 可视化指南

  • Dapr 知多少 | 分布式应用运行时

  • Dapr 正式发布 1.0

  • Dapr 交通流量控制示例

  • Dapr是如何简化微服务的开发和部署

  • 微软开源微服务运行时Dapr,赋能云原生应用开发

  • YARP实现Dapr服务调用的反向代理

  • Dapr微服务应用开发系列0:概述

  • Dapr微服务应用开发系列1:环境配置

  • Dapr微服务应用开发系列2:Hello World与SDK初接触

  • Dapr微服务应用开发系列3:服务调用构件块

  • Dapr微服务应用开发系列4:状态管理构件块

  • Dapr微服务应用开发系列5:发布订阅构建块

  • Windows环境下Dapr入门

  • 云原生 | .NET 5 with Dapr 初体验

  • 通过Dapr实现一个简单的基于.net的微服务电商系统

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(五)——一步一步教你如何撸Dapr之状态管理

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权

  • WebAssembly + Dapr = 下一代云原生运行时?

  • dapr 应用开发 | 环境配置

  • 乘风破浪,.Net Core遇见Dapr,为云原生而生的分布式应用运行时

通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权-百度版...相关推荐

  1. 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权...

    Oauth2授权,熟悉微信开发的同学对这个东西应该不陌生吧.当我们的应用系统需要集成第三方授权时一般都会做oauth集成,今天就来看看在Dapr的语境下我们如何仅通过配置无需修改应用程序的方式让第三方 ...

  2. 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式...

    目录: 一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务 ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统(十八)——服务保护之多级缓存...

    很久没有更新dapr系列了.今天带来的是一个小的组件集成,通过多级缓存框架来实现对服务的缓存保护,依旧是一个简易的演示以及对其设计原理思路的讲解,欢迎大家转发留言和star 目录: 一.通过Dapr实 ...

  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(十七)——服务保护之动态配置与热重载...

    在上一篇文章里,我们通过注入sentinel component到apigateway实现了对下游服务的保护,不过受限于目前变更component需要人工的重新注入配置以及重启应用更新componen ...

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护...

    dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...

  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格...

    多运行时是一个非常新的概念.在 2020 年,Bilgin Ibryam 提出了 Multi-Runtime(多运行时)的理念,对基于 Sidecar 模式的各种产品形态进行了实践总结和理论升华.那到 ...

  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容...

    上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样 ...

  8. 通过Dapr实现一个简单的基于.net的微服务电商系统(十)——一步一步教你如何撸Dapr之绑定...

    如果说Actor是dapr有状态服务的内部体现的话,那绑定应该是dapr对serverless这部分的体现了.我们可以通过绑定极大的扩展应用的能力,甚至未来会成为serverless的基础.最开始接触 ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

    Dapr提供了一些开箱即用的分布式链路追踪解决方案,今天我们来讲一讲如何通过dapr的configuration来实现非侵入式链路追踪的 目录: 一.通过Dapr实现一个简单的基于.net的微服务电商 ...

最新文章

  1. spring_Spring Boot登录选项快速指南
  2. python思想读后感_《Deep Learning with Python》读后感精选
  3. 谷歌YouTube算法团队:视频质量评价的集成池化方法
  4. 2014.10.18笔记
  5. 服务器为啥要搭建在2012系统,Windows Server2012R2怎么配置为DNS服务器
  6. 线性求逆元模板_专栏:ACM算法面面观[9]逆元
  7. 三菱伺服调试软件_【精品】三菱MR-J4系列伺服驱动器一键自整定操作流程
  8. JS实现复制到剪贴板功能
  9. Jmeter接口测试工具安装
  10. 2009中文菜谱网站排行之十大兵器
  11. 读书有益——》今日简史
  12. 【渝粤教育】电大中专公共基础课程作业 题库
  13. 原生Android设置sim卡锁定,开启SIM卡密码保护
  14. 计算机软件卸载不了怎么办,软件卸载不了,教您软件卸载不了怎么办
  15. 计算机科学导论参考文献,物联网毕业论文参考文献精选
  16. Windows设备管理器中的错误代码
  17. 强化学习PPO代码讲解
  18. 计算机量子化学计算数据处理,实验37 量子化学计算.doc
  19. 【微服务框架】SpringCloud之最全篇,java并发编程电子书
  20. 【Splay】[SGU 187]Twist and whirl - want to cheat

热门文章

  1. BF533和触摸屏接口芯片TSC2200调试日志
  2. office 2007图标_微软Office 365桌面版新图标开始测试
  3. Activity的呼叫转移*(3个Activity之间的跳转)
  4. python数据类型之元组类型
  5. js中 给json对象添加属性和json数组添加元素
  6. ActiveMQ在windows下启动失败解决方案
  7. J - 青蛙的约会(扩展欧几里得)
  8. 软概(lesson 2):课堂测试
  9. #CSS# 初识CSS
  10. .NET平台下几种SOCKET模型的简要性能供参考