授权中心架构
2016-04-12 16:13:19 0 举报
授权中心
作者其他创作
大纲/内容
4. HTTP/1.1 200 OK Content-Type: application/json{ access_token = token_type=Bearer expires_in = refresh_token= scope=seller}
登录
国美内网端口
3. POST /2.0/token HTTP/1.1 grant_type=REFRESH_TOKENrefreshToken=之前的更新令牌app= 应用标识secret=应用私钥redirect_uri
2. HTTP/1.1 200 OK Content-Type: application/json{ access_token = token_type=Bearer expires_in = refresh_token= scope=seller}
第二部 登录商家
确认
入驻的平台登录接口(POP平台,物流平台,广告联盟,供应链平台)
应用平台信息是否合法
获得权限
1. 校验AccessToken是否存在2. 根据accessToken获取openId等信息3. 将openId,scope,app返回给网关
访问第三方服务
openIdscopeapp
商家后台(商家可以自己管理授权关系)
授权服务(开放平台)提供应用绑定,授权关系相关服务
重新请求之前的授权请求
1. 获取授权码,构造令牌请求2. 将accessToken与refreshToken与用户进行绑定
第三部 授权应用
被授权方(第三方应用)
accessToken
授权方
1. 更新令牌,构造令牌请求2. 重置令牌到用户,包括accessToken和refreshToken
应用服务(开放平台)
openId(商家Id)
确认授权(追加confirm=true参数)
1. 验证应用是否合法(app)2. 验证授权码(code)或者更新令牌(refreshToken)3. 生成访问令牌(accessToken)和更新令牌(refreshToken)4.发放令牌到第三方应用
返回授权页面
向权限中心校验scope权限是否包含此method
1. 校验应用是否合法(app)2. 校验Scope是否合法(scope)3. 判断是否登录4. 如果未登录,跳转到登陆页面5. 如果登录,跳转到授权页面6. 确认授权请求,获取当前登录商家的venderId,并生成授权码,缓存在Redis中
/2.0/authorize?response_type=code &app= 应用标识 &redirect_uri=响应URI &scope=seller &state=anticsrf
网关(开放平台)
授权
code 授权码State 状态码
返回登陆页面
登录信息
Redis
应用-添加店铺;服务市场;
监听授权关系的变化
redirect_uri指定的Action
授权中心FRONT(开放平台)
校验accessToken
授权页面页面
MQ消息总线
更新令牌
1. 使用accessToken访问网关是的需要授权的接口2. 对访问结果进行展示
授权方登录页面
授权方(入驻商家,入驻物流商,入驻分销商,入驻供应商等等)
获取店铺授权
AccessToken用于存储访问令牌键:访问令牌值:appkey+scope+venderId+expire等有效期:1个月
AuthCode用于存储授权码键:授权码+app值:appkey+scope+venderId等有效期:10分钟
带上openId进行远程调用
1. POST /2.0/token HTTP/1.1 grant_type=authorization_codecode=授权码app= 应用标识secret=应用私钥redirect_uri
商铺XXX
申请令牌
RefreshToken用于更新令牌键:访问令牌值:appkey+scope+venderId+expire等有效期:3个月
第一步,点击授权
授权码换令牌或者更新令牌换令牌
0 条评论
下一页