一、授权方式

为保证用户数据的安全性,若您的应用已完成与蘑菇街开放平台对接,需要获取一些与用户紧密相关的信息(如订单、商品、促销等),需要征得用户的同意,获得用户的授权许可。蘑菇街开放平台采用国际通用的OAuth2.0标准协议,支持网站、桌面客户端、ERP系统(若要了解更多关于OAuth2.0的技术说明,请参考官方网站 http://oauth.net/2/ ) 。目前,蘑菇街开放平台的OAuth2.0支持以下方式获取Access Token。

方式

说明

Server-side flow

此流程要求ISV应用有Web Server应用,能够保存应用本身的密钥以及状态,可以通过http直接访问蘑菇街的授权服务器,可以通过RefreshToken刷新AccessToken保持授权有效。

Clinet-side Application

此流程适合客户端应用,同时应用无法与浏览器交互,但是可以外调用浏览器,需要每次都授权,无法通过RefreshToken刷新AccessToken。

Refreshing Access Token

用户如果在获取访问令牌时,同时获取到了刷新令牌,当访问令牌过期时,用户可以用刷新令牌刷新,从而延长访问令牌的时间,只有在Server-side flow才可以刷新。

二、名词解释

1. AppKey

开发者创建的应用标识,创建应用后在 控制台》应用列表 可以看到。

1. AppSecret

标识应用身份,在 控制台》应用列表 可以得到,获取Code、请求加签时必要参数。

2. Code

用户授权授权给应用换取AccessToken与RefreshToken的key,获取AccessToken必要参数,有效期为5分钟,或换取AccessToken后失效。

3. AccessToken

应用通过Code换取到最终颁发给应用的令牌,调用API必要参数,有效期为7天,同一个用户对应一个AppKey只会生效最后一次授权的AccessToken与RefreshToken。

3. RefreshToken

在有效期内可以刷新对应的AccessToken,授权后与AccessToken一起返回,用来减少用户授权频率,要求应用存储每个用户对同一个AppKey最近一次授权返回的RefreshToken,有效期为14天,或刷新后失效。

4. redirect_uri及callback定义规则

redirect_uri指的是应用发起请求时,所传的回调地址参数,在用户授权后应用会跳转至redirect_uri。

callback指的是应用注册时填写的回调地址链接 或者网站接入时所验证的域名地址。

规则:

(1)对于Server-side flow,redirect_uri是必选参数,并且要求redirect_uri与callback的顶级域名一致。

(2)在不可预知错误的情况下,返回到默认错误页面。

三、Server-side flow

此流程要求ISV或商家(自主研发应用)有web服务器,能够保持应用本身的密钥以及状态,可以通过http直接访问蘑菇街的授权服务器。

1.通过用户授权获取授权码Code(获取授权码链接)

通过拼接以下链接打开用户登录页面:https://oauth.mogujie.com/authorize?response_type=code&app_key=YOUR_APPKEY&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&state=YOUR_CUSTOM_CODE

请求方法:GET

请求参数:

参数

是否必选

参数说明

app_key

接入时申请的app_key

redirect_uri

回调地址,请确保回调地址在授权域下,并UrlEncode进行编码。

response_type

授权类型,此值固定为“code”。client_side flow 此值为token

state

用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。

返回说明:

如果用户成功登录并授权,则会跳转到指定的回调地址,并在redirect_uri地址后带上Authorization Code和原始的state值。

2.用上一步获取的Authorization Code,和AppSecret 通过Http POST方式换取Token。(获取访问令牌)

通过拼接以下链接(注意替换以下app_key、redirect_uri和state)打开用户登录页面:https://oauth.mogujie.com/token?code=YOUR_AUTHCODE&grant_type=authorization_code&app_key=YOUR_APPKEY&app_secret=YOUR_APPSECRET&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

请求方法:GET

请求参数:

参数

是否必选

参数说明

app_key

接入时申请的app_key

app_secret

接入时申请的app_secret

redirect_uri

回调地址,与上一步的redirect_uri保持一致

grant_type

授权类型,申请accesstoken流程中,此值为“authorization_code”

code

上一步中获取的Authorization Code

state

用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。

返回说明:(如果成功返回,即可获取如下参数)

参数

描述

statusCode

授权操作状态(0000000 - 授权成功)

access_token

授权令牌(AccessToken)。

access_expires_in

该AccessToken的有效期,单位为秒。

refresh_token

授权刷新令牌(RefreshToken)。

refresh_expires_in

该RefreshToken的有效期,单位为秒。

四、Client-side flow

此流程适合ISV没有自己的web服务器,且应用为原生程序,即客户端应用(同时应用无法与浏览器交互,但是可以外调用浏览器)。

请求的流程:(1)用户发起授权请求, 开放平台验证后获取code并置换出AccessToken 》 (2)获取url中的AccessToken 》 (3)调用API

1. 通过拼接以下链接(注意替换以下app_key、redirect_uri和state)打开用户登录页面,登录后进行授权(页面操作与Server-side-flow相同):

https://oauth.mogujie.com/authorize?response_type=token&app_key=12304977&state=1212&redirect_uri=REDIRECT_URI

2. 直接从REDIRECT_URI中获取AccessToken信息。

最终返回的地址格式为:REDIRECT_URI/oauthCallBack/#access_token=6a42dbd2ef9cf3489a4913039838e12b

五、刷新Token

通过前两种流程,获取了Access token以及Refresh token(对于具有“获取Refresh token权限”的应用),但是一般来讲,AccessToken都有一定的时效性,在刷新有效时长内必须通过RefreshToken 来延迟Access token的时长。

请求的流程有:通过http post请求https://oauth.mogujie.com/token发送刷新。

请求参数:

参数

是否必选

参数说明

app_key

接入时申请的app_key

app_secret

接入时申请的app_secret

grant_type

授权类型,在刷新令牌的过程中,此值为“refresh_token”。

refresh_token

用来刷新AccessToken的刷新令牌

state

用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。

返回说明:(如果成功返回,即可获取如下参数)

参数

描述

statusCode

授权操作状态(0000000 - 授权成功)

access_token

新授权令牌(AccessToken)。

access_expires_in

新AccessToken的有效期,单位为秒。

refresh_token

新授权刷新令牌(RefreshToken)。

refresh_expires_in

新RefreshToken的有效期,单位为秒。

蘑菇街服务器信息,蘑菇街开放平台相关推荐

  1. 蘑菇街服务器信息,蘑菇街TeamTalk服务器端MsgServer分析(一)

    MsgServer 是 TeamTalk 中最关键的一个 server,它和 LoginServer,filerServer,RouteServer,DB_Prox_Server 都有联系.本文只谈 ...

  2. 百度云搭建微信公众平台服务器,微信大众开放平台开发03-百度BAE上搭建属于自己的微信公众平台 -JAVA,微信公众开放平台部署到百度云中BASE2.0,进行调试,木有钱买云服务器的亲们试试...

    微信公众开放平台开发03---百度BAE上搭建属于自己的微信公众平台 -JAVA,微信公众开放平台部署到百度云中BASE2.0,进行调试,木有钱买云服务器的亲们试试 微信公众开放平台开发03---百度 ...

  3. 信息资源共享开放平台(REXEN SEP)

    需求痛点 各个不同信息系统之间数据独立存在,无法通过统一平台进行交换共享 随着信息化的发展,各专业领域都积累了大量的数据资源,并且随着信息化建设投入的加大和信息获取手段的不断丰富,数据资源加速增长. ...

  4. asp.net获取服务器信息,Asp.netnbsp;获取服务器信息, 站长资讯平台

    Response.Write("服务器机器名:" + Server.MachineName); Response.Write(" "); Response.Wr ...

  5. b5对战一直检索服务器信息,【B5平台】求解封,服务器问题啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我打一半直接卡住,然后我死了以后,退了重进就再也进不了了,休闲能进. ChangeGameUIState: CSGO_GAME_UI_STATE_MAIN ...

  6. 推荐一个API实用平台——银联开放平台

    相信很多的IT技术员都会接触到Open API,而很多的API都可通过开放平台调用其接口,作为一个刚开始接触API的小菜鸟,哈哈哈哈哈也就是我O(∩_∩)O,想给大家介绍一个API开放平台,入手简单, ...

  7. 微信分享相关:报错“微信:包名不对,请检查包名是否与开放平台填写一致”

    背景:应用或多或少会接入微信分享的功能.但是由于某些原因,自己配置的应用信息与开放平台的信息一致,但还是会报错:"包名不对,请检查包名是否与开放平台填写一致",接下来就用两个实验来 ...

  8. 腾讯云发布php项目,利用腾讯云服务器进行微校开放平台开发

    推荐理由: 我们知道,腾讯微校是专注高校领域的公众号第三方平台,那么通过微校开放平台,开发者可以轻松的直接向上千万大学生提供服务:下面我推荐的这篇文章,就是帮助公众号运营者拓展开发的.希望对大家有所帮 ...

  9. 小米云网站服务器错误代码,小米健康云开放平台iOS SDK使用指南

    概要 现阶段本产品只对小米生态链企业及合作伙伴正式开放. 使用说明 这里介绍如何配置和使用小米健康服务iOS客户端SDK,您也可以参照Demo来配置和使用小米健康服务. 在使用小米健康服务前,开发者需 ...

  10. 利用腾讯云服务器进行微校开放平台开发

    微校开放平台概述 腾讯微校是专注高校领域的公众号第三方平台,目前已接入公众号超过3万个,精准覆盖大学生超过2000万.通过微校开放平台,开发者可以轻松的直接向上千万大学生提供服务,公众号运营者也可以通 ...

最新文章

  1. csv格式用什么打开可以编辑_如何用EXCEL/WPS整理航信版(金税盘/白盘)客户(商品)编码表...
  2. Tomcat8配置tomcat-users.xml配置
  3. slice_input_producer在2.0版本里怎么用_用Gan生成一维数据(附代码)
  4. AR模型在信号处理中的应用
  5. svn教程----TortoiseSVN常用操作
  6. ORA-20000: ORU-10027: 执行存储过程的错误
  7. CodeForces - 1353E K-periodic Garland(思维+dp)
  8. GridView的一些常用属性:
  9. Android P(2)---计划概览
  10. 2015年江苏省计算机c语言二级考试,2015江苏省计算机等级考试C语言部分试题.doc...
  11. laravel连接mysql8_php – 如何使用laravel运行MySql 8?
  12. Hessian的使用与介绍
  13. 三天学会HTML5——SVG和Canvas的使用
  14. 展讯SC9820E驱动配置之camera配置
  15. figure字体 latex_Latex字体大小和样式
  16. 虚拟机运行python_《虚》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
  17. 智能电视或将掀起IT产业新一轮狂潮
  18. DNS域名服务之:排查DNS的故障
  19. 浅析GPU计算——CPU和GPU的选择
  20. 如何用Label mx条码软件生成条形码标签

热门文章

  1. 修改植物大战僵尸游戏存档相关知识
  2. 利用Python和OpenCV将图像灰度图转为3D图并显示
  3. Python中的图形绘制——3D绘图
  4. 一米村长讲故事机器人_村长讲故事 | 牛牛特工队番外
  5. 史上最全的全国特产一览表,到哪就买当地最正宗的特产!!!
  6. 福利 | 启迪之星2018首期AI创业加速营免费名额
  7. easyExcel工具类使用
  8. 干货来啦!「敏捷开发畅想与实战」沙龙回顾
  9. 《弗洛伊德及其后继者》读书笔记(part3)--沙利文与人际精神分析
  10. 《GTA5》揭秘游戏背后的故事