美文网首页
三方登录之微博登录

三方登录之微博登录

作者: fadeqi | 来源:发表于2019-03-05 20:02 被阅读0次

来啦老弟

开发之前的准备如下:

  1. 注册新浪微博
  2. 访问新浪微博开发平台http://open.weibo.com,如果是企业,申请企业接入,并提交相关资料进行审核;如果是个人开发者,就请申请个人开发者应用。
  1. 进入http://open.weibo.com完善个人信息之后,必须还要做完身份认证审核,审核完成之后,新浪开放平台就会给出appkey和App Secret。
    在开放平台上创建应用,(分移动应用、网站应用、游戏和其他产品)如下图所示:

客户端类型应用申请如下:

申请移动应用填写信息
web类型应用申请如下:
申请web应用填写信息
  1. 填完信息,等待平台审核通过后,拿到appkey和App Secret 还有之前准备的redirect_URI回调地址(即平台的登录页面)之后,即可接入微博登录。
    web端(h5)微博登录
    引导需要授权的用户到如下地址:(请求用户授权Token)

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

文档请参照:https://open.weibo.com/wiki/Oauth2/authorize
请求方式:GET/POST
YOUR_CLIENT_ID ---->申请应用时分配的AppKey。
YOUR_REGISTERED_REDIRECT_URI---->授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。(一般为应用登录页面)
如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
返回数据

返回值字段 字段类型 字段说明
code string 用于第二步调用oauth2/access_token接口,获取授权后的access token。
state string 如果传递参数,会回传该参数。(防止CSRF攻击用的)
  1. 拿到上一步的code后,用code换取Access Token:
    url

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

文档请参照:https://open.weibo.com/wiki/Oauth2/access_token
请求方式:POST
YOUR_CLIENT_ID ---->申请应用时分配的AppKey。
YOUR_CLIENT_SECRET---->申请应用时分配的AppSecret。
YOUR_REGISTERED_REDIRECT_URI---->授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。(一般为应用登录页面)
返回数据

返回值字段 字段类型 字段说明
access_token string 用户授权的唯一票据,用于调用微博的开放接口,同时也是第三方应用验证微博用户登录的唯一票据,第三方应用应该用该票据和自己应用内的用户建立唯一影射关系,来识别登录状态,不能使用本返回值里的UID字段来做登录识别。
expires_in string access_token的生命周期,单位是秒数。
uid string 授权用户的UID,本字段只是为了方便开发者,减少一次user/show接口调用而返回的,第三方应用不能用此字段作为用户登录状态的识别,只有access_token才是用户授权的唯一票据。
  1. 根据用户ID获取用户信息

https://api.weibo.com/2/users/show.json?access_token=token&uid=openId

参考文档:https://open.weibo.com/wiki/2/users/show
请求方式:GET
access_token---->上一步获取的access_token
uid---->上一步获取的UID

  1. 拿到用户信息后就可以将你需要的用户信息注册到你的项目的用户表里,重点保存第5步得到的UID,下次用户再用此账号登录时,到第6步后拿着第5步得到的UID查询数据库里是否存在,存在就不用再次注册到数据库,直接生成token,返回用户数据,登录成功。
    到此,微博登录就结束了。具体文档请参照:

微博api
https://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI

嘿嘿嘿,划重点了
看到网上有很多关于为什么access_token要设置过期时间的问题,此处以自己的理解解答一哈:
首先我们如果只是做登录,确实不需要access_token,因为已经有openid或者uid跟你的用户对应起来了,但是,这是授权行为,意味着第三方应用可以拿着access_token去取你的数据, 所以这里就需要时效性来保证安全了。(如果有更好的理解欢迎在评论区评论)

相关文章

  • 2019-03-10

    选择第三方微博登录(登录界面下面的微博图标就是)。若是点微博登录它跳转 自己的微博请吧微博客户端卸载再登录。 账号...

  • 三方登录之微博登录

    来啦老弟 开发之前的准备如下: 注册新浪微博 访问新浪微博开发平台http://open.weibo.com,如果...

  • 友盟第三方平台登录与分享

    友盟第三方登录 一、概述第三方登录主要用于简化用户登录流程,通过用户拥有的微博、QQ、微信等第三方账号进行登录并且...

  • 第三方登录

    3.3 第三方登录 第三方登录,国内常用的第三方登录有:qq、微信、微博三个社交平台。国外常见的有Facebook...

  • ApowerMirror——手机投屏电脑/电脑控制手机/大屏吃鸡

    一、登录注册 1、支持手机号、邮箱和第三方登录登录 2、通过第三方绑定支持微信、微博、QQ,所以也是可以通过微信、...

  • 第三方登录

    第三方登录开发模式及auto2.0简介 微博登录第三方登录就是跳转到第三方的登录页面,只能通过第三方,不能自己设置...

  • 原创【干货】礼物说,你用过么?(APP全解析)

    页面一:登录/注册 用户可以直接通过手机来进行登录,快捷登录上使用新浪微博、微信、QQ为第三方登录方,用户在非登录...

  • Android 使用第三方登录微博sdk问题 2018-03-0

    在项目中用到了第三方登录,包括了QQ登录与微博登录; 当我接入微博登录之后,发现当手机上不存在微博客户端时,也就是...

  • 注册登录对比

    一、概况: 常见登录方式: 1、手机号密码登录 2、手机号验证码登录 3、第三方登录:QQ 微信 微博 4、账号密...

  • iOS 第三方登录(Facebook,Twitter...)

    文章将从Facebook,Twitter,Instagram,微博,qq 5个平台进行第三方登录的细节。微信登录比...

网友评论

      本文标题:三方登录之微博登录

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