当前位置: 首页 > news >正文

怎么做中英文版网站做炫舞情侣头像动态图网站

怎么做中英文版网站,做炫舞情侣头像动态图网站,东莞市招投标交易中心,网站seo与网站没关Oauth2授权#xff0c;熟悉微信开发的同学对这个东西应该不陌生吧。当我们的应用系统需要集成第三方授权时一般都会做oauth集成#xff0c;今天就来看看在Dapr的语境下我们如何仅通过配置无需修改应用程序的方式让第三方服务保护我们的API应用。目录#xff1a;一、通过Dapr… Oauth2授权熟悉微信开发的同学对这个东西应该不陌生吧。当我们的应用系统需要集成第三方授权时一般都会做oauth集成今天就来看看在Dapr的语境下我们如何仅通过配置无需修改应用程序的方式让第三方服务保护我们的API应用。目录一、通过Dapr实现一个简单的基于.net的微服务电商系统二、通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解三、通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr四、通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布通过Dapr实现一个简单的基于.net的微服务电商系统(五)——一步一步教你如何撸Dapr之状态管理通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪Dapr目前支持两种Oauth2授权一种是用户认证模式一种是客户端凭据模式。今天的演示主要是通过集成github用户认证的模式来实现相关功能先上流程图  流程图画的比较简单而且这里隐藏了dapr相关的细节下面我们详细看看到底发生了什么  1、首先访问者通过客户端发起一个对鉴权服务的访问sidecar检测到此次访问没有对应cookie则会发起一个重定向到github的302请求。  2、客户端检测到302后会重定向到githubgithub会展示一个登录页面并提示访问者登录并授权给应用使用相关能力如获取用户信息授权完成后github带上code并发起一个302重定向回到我们提前录入好的回调地址该地址实际上也是指向我们的鉴权服务。  3、鉴权服务的sidecar拿到对应code后会再次请求github拿到accesstoken并通过header的方式将该accesstoken返回给应用。  4、应用拿到accesstoken后就可以访问github公开的api获取访问者授权部分的功能。  基本逻辑如上下面我们看看如何集成github首先我们需要登录github创建一个对应的应用  登录你的github账号并在右上角账号头像上点击进入setting进入设置页面后在左侧菜单栏选择“Developer settings”并选择二级菜单“OAuth Apps”在这里我们需要创建一个应用创建应用比较简单这里唯一需要注意的是Authorization callback URL这一栏需要输入授权地址。不过创建时可以随意填写一个地址等后续授权服务上线后再修改这里的回调地址即可。创建完成后我们可以进入detail拿到两个关键配置Client ID、Client secrets。  接着我们创建对应的Component并录入刚才拿到的Client ID、Client secrets注意这里的redirectURL如果填了的话跳转会按照这里填写的地址跳转否则按照应用上预设的地址跳转我这里留空。另外authHeaderName是我们告诉daprd回调拿到的accesstoken的header名字自定义为“myauth”否则会使用默认的关键字“authorization”如果你不想占用该关键字则可以声明一个自定义headername。apiVersion: dapr.io/v1alpha1 kind: Component metadata:name: githubauthnamespace: dapreshop spec:type: middleware.http.oauth2version: v1metadata:- name: clientIdvalue: your client id- name: clientSecretvalue: your client secret- name: scopesvalue: user:email- name: authURLvalue: https://github.com/login/oauth/authorize- name: tokenURLvalue: https://github.com/login/oauth/access_token- name: redirectURLvalue: - name: authHeaderNamevalue: myauth  接着我们申明一个Configuration并注入到鉴权服务中注入部分参考之前的限流apiVersion: dapr.io/v1alpha1 kind: Configuration metadata:name: appconfignamespace: dapreshop spec:httpPipeline:handlers:- name: githubauthtype: middleware.http.oauth2  接着我们在eshop-sample上创建一个鉴权服务并创建一个service该service主要是获取到“myauth”之后向github发起请求访问其user接口获取之前授权访问者的基本用户信息用于创建默认的商城管理员。获取信息后会将user信息打包到cookie并通过302的方式回写到admin.dapreshop.com方便创建用户。 [RemoteService(oauthservice, github, github授权服务)]public interface IService{[RemoteFunc(funcDescription: 请求OAUTH登录)]TaskModel GetUserInfo();}public class Service: IService{private readonly IHttpClientFactory httpClientFactory;public Service(IHttpClientFactory httpClientFactory){{this.httpClientFactory httpClientFactory;}public async TaskModel GetUserInfo(){var model new Model() { login };if (HttpContextExt.Current.Headers.Any(x x.Key.ToLower().Equals(myauth))){var req new HttpRequestMessage();req.Headers.Add(User-Agent, dapr-eshop);req.Headers.Add(Authorization, HttpContextExt.Current.Headers.FirstOrDefault(x x.Key.ToLower().Equals(myauth)).Value);req.Method HttpMethod.Get;req.RequestUri new Uri(https://api.github.com/user);var result await httpClientFactory.CreateClient().SendAsync(req);if (result.IsSuccessStatusCode){var content await result.Content.ReadAsStringAsync();HttpContextExt.Current.Response.Cookies.Append(githubuser, JsonSerializer.Serialize(JsonSerializer.DeserializeModel(content)),new Microsoft.AspNetCore.Http.CookieOptions() { Domain dapreshop.com });HttpContextExt.Current.Response.Redirect(http://admin.dapreshop.com:30882);}}return model;}}  接着我们改造一下AccountUseCaseService的InitRoleBasedAccessControler这个方法如果获取到从页面回调的cookie则直接用cookie创建初始管理员否则用默认值创建初始管理员代码略具体看github对应的repo  由于oauth会涉及到多次302重定向我之前预设的简易反代网关暂时走不通这个逻辑所以这里我们直接将授权服务的dapr service暴露到ingress(补充一个小知识所有开启了dapr的应用都会创建一个“你的应用名-dapr”的service通过该service可以直接访问sidecar)apiVersion: networking.k8s.io/v1 kind: Ingress metadata:namespace: dapreshopname: oauthannotations:kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/enable-cors: truenginx.ingress.kubernetes.io/cors-allow-origin: http://admin.dapreshop.com:30882nginx.ingress.kubernetes.io/cors-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authentication,AuthIgnore spec:rules:- host: oauth.dapreshop.comhttp:paths:- path: /pathType: Prefixbackend:service:name: oauthservice-daprport:number: 80  照例将127.0.0.1 oauth.dapreshop.com 录入host文件。接着我们回到github应用将回调地址录入http://oauth.dapreshop.com:30882/v1.0/invoke/oauthservice/method/github/GetUser 保存  最后我们在admin.dapreshop.com的前端页面增加一个跳转到github的图标并将地址设置为“http://oauth.dapreshop.com:30882/v1.0/invoke/oauthservice/method/github/GetUser”这样点击时即可进行oauth鉴权校验   一切就绪启动我们的电商demo进入admin.dapreshop.com后取消点击初始化点击github小图标会跳转到github授权页面  登录后会回跳到我们的oauth服务的GetUserInfo方法并通过该方法拿到user并回写到cookie中此时再点击初始化则会根据github账号创建对应的超管   整个流程就完毕了大家可以clone最新的demo并尝试一下~  新增的几个配置在Oxygen-Dapr.EshopSample\Deploy\middleware文件夹中相关文章Dapr能否引领云原生中间件的未来云原生 | 阿里巴巴的Dapr实践与探索Dapr | 云原生的抽象与实现Dapr 可视化指南Dapr 知多少 | 分布式应用运行时Dapr 正式发布 1.0Dapr 交通流量控制示例Dapr是如何简化微服务的开发和部署微软开源微服务运行时Dapr赋能云原生应用开发YARP实现Dapr服务调用的反向代理Dapr微服务应用开发系列0概述Dapr微服务应用开发系列1环境配置Dapr微服务应用开发系列2Hello 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之链路追踪WebAssembly Dapr 下一代云原生运行时dapr 应用开发 | 环境配置乘风破浪.Net Core遇见Dapr为云原生而生的分布式应用运行时
http://www.huolong8.cn/news/294775/

相关文章:

  • 新建网站如何被搜索沈阳市城市建设网站
  • 网站拖拽自己做网站的步骤
  • 在线修图网站自助建站免费建站五个平台
  • 网站开发讲座心得体会注销营业执照
  • 深圳网站系统找哪里购物网站有哪些
  • 青海省住房和建设厅网站首页济南三维动画制作公司
  • 网站开发维护前景拍企业宣传片多少费用
  • 网站主办者中国定制网
  • 厦门网站制作方案成品短视频网站源码搭建免费
  • 宁波市网站建设公司网站优化哪家公司好
  • 购物网站需要哪些模块做网站一般要了解哪些
  • 北方明珠网站建设上海小程序开发费用
  • 济南网站建设李尚荣株洲网站建设服务公司
  • 代做网站 作业搭建专业网站服务器
  • 蚌埠做网站公司网站制作价格东莞
  • 网站建设优化服务平台236企业邮箱登陆入口
  • wordpress 全站备份合肥大建设
  • 怎么搭建支付网站平面设计素材免费网站有哪些
  • 做网站fjfzwl网站建设文本居中代码
  • 专题网站建设自查整改报告ui做标注的网站
  • 网站优化专家建e网室内设计效果图新中式
  • 深圳横岗做网站无锡网站建设品牌大全
  • 常州模板网站建设信息厦门建设局投诉电话
  • 加强网站建设的通知手表网站有哪个比较好
  • 珠海培训网站建设中介如何做网站收客
  • 我的家乡网站建设模板下载合肥市蜀山区做个网站多少钱
  • 青岛做外贸网站的公司郑州浩方网站建设智联招聘
  • 无锡本地网站签名设计免费版在线
  • 做网站接单渠道前端开发工程师招聘要求
  • 福州专业做网站公司张家港做网站收费标准