Open开发平台,认证,授权,计费
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开发平台,认证,授权,计费的更多相关文章
- oAuth2授权协议 & 微信授权登陆和绑定 & 多环境共用一个微信开发平台回调设置
OAuth2(open Auth)开放授权协议 授权码模式流程: 1.浏览器(客户端)点击一个比如使用微信登陆按钮 2.会跳到认证服务器页面,让用户选择是否授权 3.如果用户点击授权,那么会跳转到开始 ...
- Spring Cloud实战 | 最终篇:Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案
一. 前言 在上一篇文章介绍 youlai-mall 项目中,通过整合Spring Cloud Gateway.Spring Security OAuth2.JWT等技术实现了微服务下统一认证授权平台 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享
由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系 ...
- Spring Security技术栈开发企业级认证与授权(一)环境搭建
本项目是基于慕课网的Spring Security技术栈开发企业级认证与授权,采用IDEA开发,本文章用来记录该项目的学习过程. 慕课网视频:https://coding.imooc.com/clas ...
- 基于Activiti的流程应用开发平台JSAAS-WF V5.3
第1章 产品概述及体系架构 1.1.概述 红迅JSAAS-WF工作流平台V5是广州红迅软件有限公司面向合作伙伴以及有IT运维团队中大型企业提供新一代的流程管理产品,它基于流行的JAVA开源技术上构建, ...
- AngularJS进阶(十七)在AngularJS应用中实现微信认证授权遇到的坑
在AngularJS应用中集成微信认证授权遇到的坑 注:请点击此处进行充电! 前言 项目开发过程中,移动端新近增加了一个功能"微信授权登录",由于自己不是负责移动端开发的,但最后他 ...
- SNF快速开发平台2019-角色、权限、账户的概念理解-非常全的理论讲解权限控制
组织模型 资源模型 操作模型 谁能够执行哪些操作 执行资源的范围 资源概念资源就是想要的到的最终物质,我们可以给每一个资源定义一个权限,也可以给某一类资源定义一个权限 权限概念权限是对资源 ...
- 一款基于.NET Core的认证授权解决方案-葫芦藤1.0开源啦
背景 18年公司准备在技术上进行转型,而公司技术团队是互相独立的,新技术的推动阻力很大.我们需要找到一个切入点.公司的项目很多,而各个系统之间又不互通,导致每套系统都有一套登录体系,给员工和客户都带来 ...
- Java面试指北!13个认证授权常见面试题/知识点总结!| JavaGuide
大家好,我是 Guide哥!端午已过,又要开始工作学习啦! 我发现有很多小伙伴对认证授权方面的知识不是特别了解,搞不清 Session 认证.JWT 以及 Cookie 这些概念. 所以,根据我根据日 ...
- 【Spring Cloud & Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权
一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证授权.鉴权的逻辑,结合 ...
随机推荐
- Datatable根据多行排序
DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("Na ...
- 【整理】SQLServer查询各种数据库对象(表,索引,视图,图表,存储过程等)
首先明确数据库对象的定义:数据库对象定义数据库内容的结构.它们包含在数据库项目中,数据库项目还可以包含数据生成计划和脚本. 常见的数据库对象包括:表,索引,视图,图表,缺省值,规则,触发器,存储过程, ...
- CentOS6.4下搭建hadoop2.2(64bit)注意事项
注:本文针对64位机器,32bit课直接tar -zxvf hadoop-2.2.0.tar.gz 解压配置即可. Step1:安装jdk(6以上版本) Step2:下载hadoop--->ht ...
- Linux学习之chkconfig命令
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...
- 【Howie玩docker】-Centos 7 docker 启动容器iptables报No chain/target/match by that name
重启了一下服务器,以前能运行的docker网络应用都不能正常开启了. 因为用的是centos7,所以猜测有可能是iptables的问题. docker start 或者run 后总是提示类似的错误: ...
- Oracle EBS-SQL (SYS-10):锁定表查询.sql
/*死锁查询-1*/ SELECT o.object_name, l.session_id,l.process, l.locked_mode FROM v$locked_object l , dba_ ...
- PHPExcel 多工作表 导出
//浏览器输出excel header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ...
- poj1563---蜗牛爬井
#include <stdio.h> #include <stdlib.h> int main() { int dayTh; float Udis,currentHeight, ...
- padding-top、margin-top和top的区别
padding-top:10px;是指容器内的内容距离容器的顶部有10个像素,是包含在容器内的: margin-top:10px;是指容器本身的顶部距离其他容器有10个像素,不包含在容器内: top: ...
- opensatck 在启动的时候注入额外的信息
在配置ceph的时候建议使用metadata/cloud-init来注入额外的信息. https://raymii.org/s/tutorials/Automating_Openstack_with_ ...