社交媒体平台Oauth2.0授权机制解析:微博与微信详解

更新:11-21 民间故事 我要投稿 纠错 投诉

大家好,关于社交媒体平台Oauth2.0授权机制解析:微博与微信详解很多朋友都还不太明白,今天小编就来为大家分享关于的知识,希望对各位有所帮助!

第三方发起微信授权登录请求。微信用户允许第三方应用授权后,微信会启动应用或重定向到第三方网站,并携带授权临时票码参数;通过code参数添加AppID和AppSecret等,并传递API换取access_token。一个Code只能成功兑换一次access_token,兑换成功后即失效。通过access_token进行接口调用,获取用户的基础数据资源或帮助用户实现基本操作。微博:1.引导用户授权:

引导需要授权的用户访问以下页面了解详情:https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_IDresponse_type=coderedirect_uri=YOUR_REGISTERED_REDIRECT_URI

YOUR_CLIENT_ID:应用程序的AppKey,可以在应用程序的基本信息中查看。

YOUR_REGISTERED_REDIRECT_URI:这是之前填写的授权回调页面。注意一定要完全一样。如果用户授权成功,会跳转到回调页面。这时开发者需要获取url参数中的code值。请注意,该代码只能使用一次。

2. 兑换Access Token:

开发者可以通过以下页面获取Access Token:https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_IDclient_secret=YOUR_CLIENT_SECRETgrant_type=authorization_coderedirect_uri=YOUR_REGISTERED_REDIRECT_URIcode=CODE

YOUR_CLIENT_SECRET:应用程序的AppSECRET,可以在应用程序的基本信息中查看。

CODE:上一步获取到的临时票据CODE。

如果没有问题,您就可以获得Access Token。返回示例:

{

"access_token": "ACCESS_TOKEN",

"expires_in": 1234,

"remind_in":"798114",

"uid":"12341234"

}开发者获得Access Token后,可以保存其值,并在调用API时直接使用。 Access Token有一定的有效期,过期后需要重新授权。微博好像没有刷新令牌。

微信:1.引导用户授权:

请求代码:https://open.weixin.qq.com/connect/qrconnect?appid=APPIDredirect_uri=REDIRECT_URIresponse_type=codescope=SCOPEstate=STATE#wechat_redirect

APPID:应用程序唯一标识符。

REDIRECT_URI:重定向地址。

用户允许授权后,将被重定向到redirect_uri URL,并带有code和state参数redirect_uri?code=CODEstate=STATE。如果用户禁止授权,重定向后将不带code参数,只带state参数。

微信还提供了将微信登录二维码嵌入客户端页面获取二维码的方式。用户使用微信扫码授权后,通过JS将代码返回给网站。

2. 兑换Access Token:

通过代码获取access_token:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPIDsecret=SECRETcode=CODEgrant_type=authorization_code

APPID:应用程序的唯一标识,应用程序在微信开放平台提交审核后获取。

SECRET:申请密钥AppSecret是在微信开放平台提交申请审核后获得的。

CODE:填写第一步获取的code参数。

grant_type:"授权码"

正确返回:

{

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"范围":"范围","unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"

}access_token:接口调用凭证。

expires_in access_token:接口调用凭证超时时间,单位(秒)。

fresh_token:用户刷新access_token。

openid:授权用户的唯一标识符。

scope:用户授权的范围,以逗号(,)分隔

unionid:当且仅当网站应用获得了用户的userinfo授权时,才会出现该字段。

3、刷新access_token有效期:

access_token为调用授权关系接口的调用凭证。由于access_token有效期(目前为2小时)较短,当access_token超时时,可以使用refresh_token进行刷新。 access_token刷新结果有两种:

如果access_token已过期,则执行refresh_token将获取新的access_token,并设置新的超时时间;如果access_token没有过期,执行refresh_token不会改变access_token,但是超时会刷新,相当于更新access_token。 refresh_token的有效期较长(30天)。当refresh_token过期后,用户需要重新授权。请求方式:https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPIDgrant_type=refresh_tokenrefresh_token=REFRESH_TOKEN。

APPID:应用程序唯一标识符。

grant_type:"refresh_token"

fresh_token: "填写通过access_token获取到的refresh_token参数"

正确返回:

{

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"范围":"范围"

}参数说明:

access_token接口调用凭证。

expires_in access_token接口调用证书超时时间,单位为秒。

fresh_token 用户刷新access_token。

openid是授权用户的唯一标识符。

scope 用户授权的范围,以逗号(,)分隔。

4、通过access_token调用接口:

获取access_token后,调用该接口需要满足以下条件:

access_token有效且未过期。微信用户已授权第三方应用账号对应的接口范围(范围)。请求方法: GET

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKENopenid=OPENID

返回结果: { "openid":"OPENID", "昵称":"NICKNAME","性别":1,"省":"PROVINCE", "城市":"CITY","国家":"COUNTRY", "特权":["PRIVILEGE1", "PRIVILEGE2"],"unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"}

用户评论

寂莫

哇,说起来我还真想了解下这个微博、微信OAuth2.0认证到底怎么做

    有12位网友表示赞同!

坏小子不坏

以前还一直不知道什么是OAuth2.0,现在听了感觉很新颖

    有14位网友表示赞同!

慑人的傲气

微博和微信的接口开发越来越人性化了啦!

    有8位网友表示赞同!

冷嘲热讽i

这授权流程好像听过一点,需要查阅一下资料再好好学习一下

    有20位网友表示赞同!

最怕挣扎

这样的话就可以不用每次都手动登录各个平台了吧?!

    有6位网友表示赞同!

◆乱世梦红颜

感觉微博、微信这些常用的软件基本都在用这个模式,挺方便的哦

    有15位网友表示赞同!

我没有爱人i

OAuth2.0这玩意看起来有点难理解,希望有简洁易懂的教程!

    有15位网友表示赞同!

红尘滚滚

学习一下OAuth2.0认证,应该能够帮助我更好地开发移动端应用

    有12位网友表示赞同!

高冷低能儿

微博、微信这么受欢迎当然需要强大的授权机制来保证安全啊

    有13位网友表示赞同!

君临臣

我现在就比较关心这些OAuth2.0的原理是什么?

    有7位网友表示赞同!

青衫故人

这篇文章估计会介绍如何使用OAuth2.0这个技术在实际应用中呢?

    有14位网友表示赞同!

哽咽

了解一下OAuth2.0认证,可能会对以后学习编程有所帮助!

    有13位网友表示赞同!

焚心劫

看来授权流程越来越复杂了,需要好好研究一下才行

    有17位网友表示赞同!

在哪跌倒こ就在哪躺下

不知道这款OAuth2.0有哪些实际案例可以参考?

    有8位网友表示赞同!

留我一人

希望这篇文章能够深入浅出地解释OAuth2.0这个概念

    有18位网友表示赞同!

栀蓝

关注一下这方面的信息,或许以后可以用来学习开发技能

    有7位网友表示赞同!

非想

微博、微信这类的平台确实越来越智能化了啦

    有6位网友表示赞同!

ok绷遮不住我颓废的伤あ

OAuth2.0听起来就很有专业感!

    有7位网友表示赞同!

仰望幸福

感觉OAuth2.0应该会是未来很多应用的发展趋势

    有8位网友表示赞同!

【社交媒体平台Oauth2.0授权机制解析:微博与微信详解】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:深入解析余秋雨《文化苦旅》:经典之作,百读不厌 下一篇:探索梦境之旅:一次奇妙的内心冒险