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

找做网站技术人员友博国际个人中心登录

找做网站技术人员,友博国际个人中心登录,西安高新区网站制作,山西seo推广系统05 | 如何安全、快速地接入OAuth 2.0? 构建第三方软件应用 第一点,注册信息 小兔软件的研发人员提前登录到京东商家开放平台进行手动注册,以便后续使用这些注册的相关信息来请求访问令牌。兔软件需要先拥有自己的 app_id 和 app_serect 等信…

05 | 如何安全、快速地接入OAuth 2.0?

构建第三方软件应用

image.png

第一点,注册信息

小兔软件的研发人员提前登录到京东商家开放平台进行手动注册,以便后续使用这些注册的相关信息来请求访问令牌。兔软件需要先拥有自己的 app_id 和 app_serect 等信息,同时还要填写自己的回调地址 redirect_uri、申请权限等信息。

第二点,引导授权。

其实就是让用户为第三方软件授权,得到了授权之后,第三方软件才可以代表用户去访问数据。

第三点,使用访问令牌。

拿到令牌后去使用令牌,才是第三方软件的最终目的。
官方规范给出的使用访问令牌请求的方式,有三种,分别是:

  1. Form-Encoded Body Parameter(表单参数)
  2. URI Query Parameter(URI 查询参数)
  3. Authorization Request Header Field(授权请求头部字段)

建议你采用表单提交,也就是 POST 的方式来提交令牌,因为表单提交的方式在保证安全传输的同时,还不需要去额外处理 Authorization 头部信息。

String protectedURl="http://localhost:8082/ProtectedServlet-ch03";
Map<String, String> paramsMap = new HashMap<String, String>();paramsMap.put("app_id","APPID_RABBIT");
paramsMap.put("app_secret","APPSECRET_RABBIT");
paramsMap.put("token",accessToken);String result = HttpURLClient.doPost(protectedURl,HttpURLClient.mapToStr(paramsMap));

第四点,使用刷新令牌。

在小兔打单软件收到访问令牌的同时,也会收到访问令牌的过期时间 expires_in。一个设计良好的第三方应用,应该将 expires_in 值保存下来并定时检测;如果发现 expires_in 即将过期,则需要利用 refresh_token 去重新请求授权服务,以便获取新的、有效的访问令牌。

服务市场中的第三方应用软件

作为第三方开发者来构建第三方软件的时候,在授权码环节除了要接收授权码 code 值之外,还要接收用户的订购相关信息,比如服务的版本号、服务代码标识等信息。

构建受保护资源服务

比如说,访问头像的 API、访问昵称的 API。
基本都是以 Web API 为载体的形式进行。因此呢,当我们说受保护资源被授权服务保护着时,实际上说的是授权服务最终保护的是这些 Web API.
image.png

//不同的权限对应不同的操作
String[] scope = OauthServlet.tokenScopeMap.get(accessToken);StringBuffer sbuf = new StringBuffer();
for(int i=0;i<scope.length;i++){sbuf.append(scope[i]).append("|");
}if(sbuf.toString().indexOf("query")>0){queryGoods("");
}if(sbuf.toString().indexOf("add")>0){addGoods("");
}if(sbuf.toString().indexOf("del")>0){delGoods("");
}

不同的权限对应不同的数据。
如果小兔软件请求过来的一个访问令牌 access_token 的 scope 权限范围只对应了 Personal Data,那么包含该 access_token 值的请求就不能获取到 Contact 和 Like 的信息,关于这部分的代码,实际跟不同权限对应不同操作的代码类似。

不同的用户对应不同的数据。
多的场景却是基于用户属性的。还是以小兔打单软件为例,商家每次打印物流面单的时候,小兔打单软件都要知道是哪个商家的订单。这种情况下,商家为小兔软件授权,小兔软件获取的 access_token 实际上就包含了商家这个用户属性。

//不同的用户对应不同的数据
String user = OauthServlet.tokenMap.get(accessToken);
queryOrders(user);

image.png

总结

  1. 对于第三方软件,比如小兔打单软件来讲,它的主要目的就是获取访问令牌,使用访问令牌,这当然也是整个 OAuth 2.0 的目的,就是让第三方软件来做这两件事。在这个过程中需要强调的是,第三方软件在使用访问令牌的时候有三种方式,我们建议在平台和第三方软件约定好的前提下,优先采用 Post 表单提交的方式
  2. 受保护资源系统,比如小兔软件要访问开放平台的订单数据服务,它需要注意的是权限的问题,这个权限范围主要包括,不同的权限会有不同的操作,不同的权限也会对应不同的数据,不同的用户也会对应不同的数据

原文

http://www.hkea.cn/news/326996/

相关文章:

  • 网站排名上升 优帮云网络销售培训学校
  • 对于政务网站建设的建议网站收录优化
  • 网站策划与建设阶段的推广方法网络软文怎么写
  • 漳州公司做网站重庆网站建设
  • 十大网络平台有哪些网站关键词排名seo
  • 建b2c网站google官方下载安装
  • 广州b2b网站建设公司推广网站
  • 新乡市封丘县建设局网站百度教育官网登录入口
  • 网站开发项目点击器
  • 建公司网站需要多少钱推广普通话手抄报内容资料
  • 东莞市建设监督网站首页app宣传推广方案
  • 网站设计基本功能域名免费注册0元注册
  • 徐州网站建设的特点营销咨询公司
  • 网站建设问题表在seo优化中
  • 网站建设公司 倒闭店铺推广方法
  • 网站搭建素材短视频培训
  • amazon虚拟机免费做网站百度信息流怎么收费
  • 深圳做网站推广公司聊城seo整站优化报价
  • 深圳专业app网站开发企业网站建设原则是
  • 网站开发师职责柳州网站建设哪里有
  • 自己做的网站怎么改电话网络推广代运营公司
  • 做水果的网站有哪些google高级搜索
  • 怎么用网站做文案百度推广可以自己开户吗
  • 做的好的新闻网站排名优化
  • 购物网站开发功能百度联盟个人怎么接广告
  • 网站如何盈利流量费网站seo搜索引擎的原理是什么
  • 泰安房产价格最新域名年龄对seo的影响
  • 网站打不开怎么回事引流推广平台有哪些
  • 课程网站建设特色成都seo外包
  • 建设厅安全员证书查询网站外链seo推广