微博第三方登陆接入流程

为了吸纳用户、提高网站的用户体验性,现在很多网站都采取第三方登陆,比较常用的就是微信、QQ、微博了,接下来我来分享一下微博登陆接入的过程:

开发文档:http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6

开发步骤:

1、通过新浪微博的开放平台去注册一个应用。

之后你会得到一个App Key和一个App Secret。拥有它们,你才可以申请权限。

2、在高级信息中编辑授权回调页,这里与后面代码里的回调地址要一致

3、 微博登录标识的地址如下:

https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

参数


必选


类型及范围


说明


client_id


true


string


申请应用时分配的AppKey。


redirect_uri


true


string


授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。


response_type


false


string


code

返回值


返回值字段


字段类型


字段说明


code


string


用于第二步调用oauth2/access_token接口,获取授权后的access token。


state


string


如果传递参数,会回传该参数。

4、如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE

示例:

http://www.xxxxx.com/callback.php?code=1f5848d0562f39fbbaf8d35cbc853ea3

5、get获取code值,用CURL方式请求Access Token

请求地址:

https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE

请求方式:

POST

请求参数:


必选


类型及范围


说明


client_id


true


string


申请应用时分配的AppKey。


client_secret


true


string


申请应用时分配的AppSecret。


grant_type


true


string


请求的类型,填写authorization_code


code


ture


string


调用authorize获得的code值。


rediect_url


ture


string


回调地址,需需与注册应用里的回调地址一致。

返回值

{
    "access_token": "SlAV32hkKG",
    "remind_in": 3600,
    "expires_in": 3600,
    "uid":1887188234
}

6、使用获得的Access Token和uid调用API

获取用户信息API:

https://api.weibo.com/2/users/show.json

请求参数:


必选


类型及范围


说明


access_token


true


string


采用OAuth授权方式为必填参数,OAuth授权后获得。


uid


false


int64


需要查询的用户ID。


screen_name


false


string


需要查询的用户昵称。

参数uid与screen_name二者必选其一,且只能选其一;

返回示例:



{
  "id": 1404376560,
    "screen_name": "zaku",
    "name": "zaku",
    "province": "11",
    "city": "5",
    "location": "北京 朝阳区",
    "description": "人生五十年,乃如梦如幻;有生斯有死,壮士复何憾。",
    "url": "http://blog.sina.com.cn/zaku",
    "profile_image_url": "http://tp1.sinaimg.cn/1404376560/50/0/1",
    "domain": "zaku",
    "gender": "m",
    "followers_count": 1204,
    "friends_count": 447,
    "statuses_count": 2908,
    "favourites_count": 0,
    "created_at": "Fri Aug 28 00:00:00 +0800 2009",
    "following": false,
    "allow_all_act_msg": false,
    "geo_enabled": true,
    "verified": false,
    "status": {
        "created_at": "Tue May 24 18:04:53 +0800 2011",
        "id": 11142488790,
        "text": "我的相机到了。",
        "source": "<a href="http://weibo.com" rel="nofollow">新浪微博</a>",
        "favorited": false,
        "truncated": false,
        "in_reply_to_status_id": "",
        "in_reply_to_user_id": "",
        "in_reply_to_screen_name": "",
        "geo": null,
        "mid": "5610221544300749636",
        "annotations": [],
        "reposts_count": 5,
        "comments_count": 8
    },
    "allow_all_comment": true,
    "avatar_large": "http://tp1.sinaimg.cn/1404376560/180/0/1",
    "verified_reason": "",
    "follow_me": false,
    "online_status": 0,
    "bi_followers_count": 215
}

返回值:

返回值字段


字段类型


字段说明


id


int64


用户UID


idstr


string


字符串型的用户UID


screen_name


string


用户昵称


name


string


友好显示名称


province


int


用户所在省级ID


city


int


用户所在城市ID


location


string


用户所在地


description


string


用户个人描述


url


string


用户博客地址


profile_image_url


string


用户头像地址(中图),50×50像素


profile_url


string


用户的微博统一URL地址


domain


string


用户的个性化域名


weihao


string


用户的微号


gender


string


性别,m:男、f:女、n:未知


followers_count


int


粉丝数


friends_count


int


关注数


statuses_count


int


微博数


favourites_count


int


收藏数


created_at


string


用户创建(注册)时间


following


boolean


暂未支持


allow_all_act_msg


boolean


是否允许所有人给我发私信,true:是,false:否


geo_enabled


boolean


是否允许标识用户的地理位置,true:是,false:否


verified


boolean


是否是微博认证用户,即加V用户,true:是,false:否


verified_type


int


暂未支持


remark


string


用户备注信息,只有在查询用户关系时才返回此字段


status


object


用户的最近一条微博信息字段 详细


allow_all_comment


boolean


是否允许所有人对我的微博进行评论,true:是,false:否


avatar_large


string


用户头像地址(大图),180×180像素


avatar_hd


string


用户头像地址(高清),高清头像原图


verified_reason


string


认证原因


follow_me


boolean


该用户是否关注当前登录用户,true:是,false:否


online_status


int


用户的在线状态,0:不在线、1:在线


bi_followers_count


int


用户的互粉数


lang


string


用户当前的语言版本,zh-cn:简体中文,zh-tw:繁体中文,en:英语

如图,此时就可以获取想要的用户信息(用户昵称、头像等),可让用户直接登录访问网站了

其实像微信登陆、QQ登陆的原理都一样,都是:

1、获取用户授权,取得code

2、将code发送到授权服务器获取Access Token

3、通过Access Token调取API接口获取用户信息

时间: 2024-10-06 05:23:33

微博第三方登陆接入流程的相关文章

微博第三方登陆请求授权出现错误码:21322(重定向地址不匹配)的解决方法

https://hostcoz.com/151.html 主题自带了微博登陆接口,很简单的去新浪微博开放平台创建了网页应用,然后把APP ID和 AppSecret填好后,以为大功告成后,轻车熟路地点击使用微博登陆,映入我眼前的是: 用微博帐号登录出错了!对第三方应用进行授权时出现错误,请您联系第三方应用的开发者:XXX 或者稍后再试. 错误码:21322重定向地址不匹配 遇到错误就去看了下新浪开放平台的接口说明 错误码为 redirect_uri_mismatch ,是因为没有设置回调地址.

微博第三方登陆js实现

html页面代码: <meta charset="utf-8"><meta property="wb:webmaster" content="2e1bcfc697808c9f" /><html xmlns:wb="http://open.weibo.com/wb"><script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js?

第三方登陆组件

GitHub 中搜索:social django app ==>找到: python-social-auth/social-app-django文档: https://python-social-auth.readthedocs.io/en/latest/ # 1. 安装 pip install social-auth-app-django # django 配置: https://python-social-auth.readthedocs.io/en/latest/configuration

新浪微博第三方登陆重定向错误23123

新浪微博第三方登陆重定向错误23123 2019年06月02日 13:49:43 温室花朵 阅读数:2更多 个人分类: 第三方微博登陆21323 编辑 当我们使用微博第三方登陆的时候,发现登陆出错了,错误码为:21323,解决方案如下: 首先找到settings,看下配置:WEIBO_APP_KEY = ‘1442285’WEIBO_APP_SECRET = '809af1f4e5e9b**f635d1b173e94a’ VUE的回调 回调给callback组件 WEIBO_FUNC_BACK

微信授权登陆接入第三方App(步骤总结)Android

微信授权登陆接入第三方App(步骤总结)Android

第三方登录接入-qq,weibo-java

开发之前 需求:网站接入qq,sina微博登录,本文最后付效果图: 说明:大部分网站本身是需要用户概念的,很多操作依附于用户,而qq或微博作为一种登录方式指向用户而已,我参考了一下其他网站的做法, 一般有如下两种做法: 1,强制绑定:用户第一次通过qq登录时必须与该网站账户绑定,也就是用户必须要先有一个此网站账户才能登录成功 2,互相独立,用户第一次通过qq登录时直接重新为用户注册一个账户,如以用户名为qq_123456直接注册一个账户,与其他账户无关: 站在用户角度考虑下,可能需要更多的选择性

网站添加第三方登陆(PHP版)

这两周正在写毕业设计,我做的是一个问答网站.先介绍一下这个网站:这是一个关于大学生在线问答的网站,类似知乎和百度知道,不过功能没有人家多,毕竟这个网站我一个人在做.网站部署在阿里云,网站包括API,Web,IOS,三大模块,现在没有找到人帮忙写安卓,唉...  网站API已经写完了,Web端正在完善开发中,毕业答辩之前会吧基本功能上线,小伙伴们可以访问看看增加人气,不过没有写完,并且看着不咋好看,因为没人写前端,我又不擅长写页面所以有点低端.域名是:http://www.olas.cn 上面说的

第三方登陆:微信官方登陆

微信官方登陆 一.首先进入微信授权登陆之前的一个验证,在微信开放平台注册开发者账号,并拥有一个已经审核通过的移动应用,获得相应的AppID和AppSecrect,申请微信通过审核后(如下如)可开始植入工程的相关流程. 二.下载最新的SDK,链接如下:iOS SDK下载 下载下来的SDK如下图: 1.libWeChatSDK.a  : 静态库,直接拖入工程中使用的: 2.README.txt : 重要内容,一些最新SDK版本的说明和安装配置 3.WechatAuthSDK.h :授权SDK 4.W

第三方登陆--新浪

一.phpsdk的组成   里面看到6个文件:callback.php.config.php.index.php.weibolist.php.weibooauth.php以及.DS_Store这6个文件. 看了下官方的API文档 http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6?sudaref=open.weibo.com&retcode=6102 二.申请APPKEY   这个需要获取App Key 和App Sea