第三方

作者: winnisz | 来源:发表于2017-03-13 14:13 被阅读0次

使用的scope是snsapi_base方式,只能获得用户的openid。

微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。

authorization_code

1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;

3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

第一步,第三方应用通过新浪微博事先公开的自定义URL Scheme来调用新浪微博app,将第三方应用的appkey,回调url scheme等相关参数传过去;

第二步,新浪微博app将自身管理的已登陆的账号信息展示给用户;

第三步,用户选择指定账户后由新浪微博app负责和新浪后端服务器进行验证授权;

第四步,新浪微博app通过之前传过去的回调url scheme来调用第三方应用,将获得的授权token传给第三方应用

第五步,第三方应用获得授权token,使用token进行各项已授权的操作。

AppKey:􏲟􏱙􏰇􏰀􏰁􏲠􏰍􏰆第三方应用申请的key,用于身份鉴证,显示来源

AppRedirectURL:应用回调页。认证时所用。

点击工程target,进入info选项,找到URL Types栏目,点击“+”按钮添加url type。

scope是OAuth2.0授权机制中authorize接口的一个参数。

scope权限接口

开发者可以通过两种方式计算access_token的实效时间:

* 1、用户授权时,oauth2/access_token接口返回的expires_in值就是access_token的生命周期;

* 2、从上述对应表中,找到应用所对应的授权有效期,过期时间 = 用户授权时间 + 授权有效期;

第三方开发应用需要具备一定的健壮性,调用接口时判断接口的返回值,如果用户的access_token失效,需要引导用户重新授权。

失效原因有以下几个:

* 1、用户取消了对应用的授权;

* 2、access_token自然过期;

* 3、用户修改了密码,冻结了对应用的授权;

* 4、微博发现用户帐号被盗,冻结了用户对应用的授权;

授权有效期的延续

授权有效期内重新授权

如果用户在授权有效期内重新打开授权页授权(如果此时用户有微博登录状态,这个页面将一闪而过),那么微博会为开发者自动延长access_token的生命周期,请开发者维护新授权后得access_token值。

通过Refresh Token刷新授权有效期

除此之外,我们也提供了通过 Refresh Token 刷新的方式来延续授权有效期,但需要注意的是:只有使用微博官方移动SDK的移动应用,才可以从SDK的方法中获取到 Refresh Token。

Refresh Token 是 Access Grants 的一种,在获取 Access Token 时,认证服务器将返回相应的 Refresh Token,如果 Access Token 过期,就可以用 Refresh Token 去刷新。

Refresh Token 也是有有效期的,Refresh Token 的有效期目前为30天,在有效期内随时可以刷新。

通过 Refresh Token 刷新得到的新的 Access Token ,其有效期等同于原来的有效期,即原来 Access Token 的有效期是7天,则新获得的也是7天。

简单来说就是对于使用了微博移动SDK的移动应用,授权(Access Token)7天有效,30天可续,每续一次增加7天有效。

相关文章

网友评论

      本文标题:第三方

      本文链接:https://www.haomeiwen.com/subject/fxgfnttx.html