1.申请appid和appkey
http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth2-0

appid:应用的唯一标识。在OAuth2.0认证过程中,appid的值即为oauth_consumer_key的值。
appkey:appid对应的密钥,访问用户资源时用来验证应用的合法性。在OAuth2.0认证过程中,appkey的值即为oauth_consumer_secret的值。

注意:申请appid时,登录的开发账号将与申请到的appid绑定,后续维护均需要使用该号码。
注意: 对appid和appkey信息进行保密,不要随意泄漏。

2. 获取Authorization Code(即server-side模式,又称Web Server Flow)
http://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8authorization_code%E8%8E%B7%E5%8F%96access_token

注意:此code会在10分钟内过期

3. 通过Authorization Code获取Access Token
http://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8authorization_code%E8%8E%B7%E5%8F%96access_token
注意:Access_Token的有效期默认是3个月,过期后需要用户重新授权才能获得新的Access_Token。可手动续期

4.移动端应用,无server时,可以直接获得AccessToken(即client-side模式,又称User-Agent Flow)
http://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8implicit_grant%E6%96%B9%E5%BC%8F%E8%8E%B7%E5%8F%96access_token

5.根据access_token获得对应用户身份的openid
http://wiki.connect.qq.com/%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7openid_oauth2-0

6.调用OpenAPI获取和修改资源
http://wiki.connect.qq.com/openapi%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E_oauth2-0

7.绑定账号

http://wiki.open.qq.com/wiki/website/%E5%B8%90%E5%8F%B7%E7%BB%91%E5%AE%9A

8.大众用户登录平台后,使用第三方开发商应用时,第三方调用户的API或系统API
CanvasURL也称之为应用开发地址,当登录用户从腾讯平台(朋友/QQ空间/微博等)进入应用时,平台会调用应用的CanvasURL并在CanvasURL后带上OpenID及OpenKey等参
http://wiki.open.qq.com/wiki/%E6%A6%82%E5%BF%B5%E5%92%8C%E6%9C%AF%E8%AF%AD#1.1_AppID
http://wiki.open.qq.com/wiki/%E5%BA%94%E7%94%A8%E7%AE%A1%E7%90%86#2._.E6.9F.A5.E7.9C.8B.E5.BA.94.E7.94.A8.E5.B1.9E.E6.80.A7
http://wiki.open.qq.com/wiki/API3.0%E6%96%87%E6%A1%A3
http://wiki.open.qq.com/wiki/API%E5%88%97%E8%A1%A8

应用场景
第三方应用开发商 调用 平台接口时--如何判断调用是否合法:
进行 1 2 3 或者 1 4 根据 Access Token 与权限的对应关系(可能是2,4申请,然后用户授予,如QQ,也可以是 和开发者账号绑定,平台授予的,如微信)

第三方应用开发商 调用 获取平台大众用户信息的接口,---如何安全的让用户授权给第三方开发商
进行 1 2 3 5 6 或者 1 4 5 6 根据appid 和 openid 确认双方身份 Access Token 判断权限对应关系

大众用户登录平台后,使用第三方开发商的API或应用
进行 8 根据 第三方openid openkey 实现 认证和授权调用用户的API(私有API,临时授权), 第三方根据 appid 和 appkey调用平台的API(公开API,一直授权)

平台上的第三方应用开发商 只平台上租用 接口API后 --如何安全调用
进行1,给第三方应用开发商 颁发 appid appkey 用于识别
进行(2和3) 或 4 ,返回Access Token前,判断,用户正常则返回
通过Access Token,申请 该API的apiid(接口标识) apikey 附加后即可,判断租用关系正常,无欠费,则返回
当后台发生欠费,关停事件时,直接注销apikey ,则即无法访问

Open开发平台,认证,授权,计费的更多相关文章

  1. oAuth2授权协议 & 微信授权登陆和绑定 & 多环境共用一个微信开发平台回调设置

    OAuth2(open Auth)开放授权协议 授权码模式流程: 1.浏览器(客户端)点击一个比如使用微信登陆按钮 2.会跳到认证服务器页面,让用户选择是否授权 3.如果用户点击授权,那么会跳转到开始 ...

  2. Spring Cloud实战 | 最终篇:Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案

    一. 前言 在上一篇文章介绍 youlai-mall 项目中,通过整合Spring Cloud Gateway.Spring Security OAuth2.JWT等技术实现了微服务下统一认证授权平台 ...

  3. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享

    由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系 ...

  4. Spring Security技术栈开发企业级认证与授权(一)环境搭建

    本项目是基于慕课网的Spring Security技术栈开发企业级认证与授权,采用IDEA开发,本文章用来记录该项目的学习过程. 慕课网视频:https://coding.imooc.com/clas ...

  5. 基于Activiti的流程应用开发平台JSAAS-WF V5.3

    第1章 产品概述及体系架构 1.1.概述 红迅JSAAS-WF工作流平台V5是广州红迅软件有限公司面向合作伙伴以及有IT运维团队中大型企业提供新一代的流程管理产品,它基于流行的JAVA开源技术上构建, ...

  6. AngularJS进阶(十七)在AngularJS应用中实现微信认证授权遇到的坑

    在AngularJS应用中集成微信认证授权遇到的坑 注:请点击此处进行充电! 前言 项目开发过程中,移动端新近增加了一个功能"微信授权登录",由于自己不是负责移动端开发的,但最后他 ...

  7. SNF快速开发平台2019-角色、权限、账户的概念理解-非常全的理论讲解权限控制

    组织模型   资源模型  操作模型 谁能够执行哪些操作    执行资源的范围 资源概念资源就是想要的到的最终物质,我们可以给每一个资源定义一个权限,也可以给某一类资源定义一个权限 权限概念权限是对资源 ...

  8. 一款基于.NET Core的认证授权解决方案-葫芦藤1.0开源啦

    背景 18年公司准备在技术上进行转型,而公司技术团队是互相独立的,新技术的推动阻力很大.我们需要找到一个切入点.公司的项目很多,而各个系统之间又不互通,导致每套系统都有一套登录体系,给员工和客户都带来 ...

  9. Java面试指北!13个认证授权常见面试题/知识点总结!| JavaGuide

    大家好,我是 Guide哥!端午已过,又要开始工作学习啦! 我发现有很多小伙伴对认证授权方面的知识不是特别了解,搞不清 Session 认证.JWT 以及 Cookie 这些概念. 所以,根据我根据日 ...

  10. 【Spring Cloud & Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权

    一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证授权.鉴权的逻辑,结合 ...

随机推荐

  1. 在WPF中将某张表中的数据显示到datagrid

    a.在.xaml文件中拖入一个datagrid,然后添加列名,使用Binding="{Binding 数据库中的 列名称}",如下: <DataGrid AutoGenera ...

  2. JAVA 可视化分析工具 第12节

    JAVA 可视化分析工具  第12节 经过前几章对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!那么这章我们就根据已有的理论知识,通过可视化工具来实践一番. 我们今天要讲 ...

  3. Spring-----多环境中加载资源配置文件

    转载自:http://blog.csdn.net/hekewangzi/article/details/51942128

  4. MySQL:Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT.解决办法

    今天在navicat上操作mysql数据库表,突然没有响应了.随后重启,mysql服务也终止了.随后启动服务,检查表,发现一张表卡没了,就重新添加一张表.报了一个错: Error : Tablespa ...

  5. 如何设置MySQL数据库名、表名大小写敏感

    在 MySQL 中,数据库和表其实就是数据目录下的目录和文. 因而,操作系统的敏感性决定数据库和表命名的大小写敏感.这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Un ...

  6. Sql优化(三) 关于oracle的并发

    Oracle的并发技术可以将一个大任务分解为多个小任务由多个进程共同完成.合理地使用并发可以充分利用系统资源,提高效率.一. 并发的种类Parallel queryParallel DML(PDML) ...

  7. 郁闷的Delphi新闻

    Embarcadero closes down their spanish R&D office putting some 80 people on the street and dimini ...

  8. cdoj 斐波那契进制

    //昨天在姜神的提醒下发现这种方法可以解决升级版的 非升级版直接01背包就好 //这题脑洞开得真是够大 解:大概要先把数分解成斐波拉契进制,x=f1*(0或1)+f2*(0或1)+...+fn*(0或 ...

  9. ReactNative遇到的一些坑

    1. 如果通过一个url进行下载上传操作,这个url中包含有中文的话,一定要记得将这个url转为URLEncode编码. 如: encodeURI('http://test/有中文.doc'); 2. ...

  10. hdu3280Equal Sum Partitions (区间DP)

    Problem Description An equal sum partition of a sequence of numbers is a grouping of the numbers (in ...