基于Oauth2.0协议的移动应用程序微信扫码登录流程

本文详细介绍了微信OAuth2.0授权登录的流程,包括如何获取code、access_token,以及如何使用SDK签名算法生成二维码进行扫码登录。开发者需要在微信开放平台注册审核获取AppId和AppSecret,然后通过指定URL发起请求获取用户授权。在授权流程中,用户扫描二维码并授权后,回调接口将获取用户数据并进行后续处理。
摘要由CSDN通过智能技术生成

官方文档:微信开放文档

前提:

  1. Oauth2.0是一种服务提供商为软件开发商提供安全授权的标准。
  2. 软件开发商在使用微信登录前需要到微信开发平台进行注册与审核,审核通过获取AppId、AppSecret。
  3. 开发通过向相关微信url发送请求获取到相应的数据响应。

使用微信扫码登录的步骤:(注意:每个操作都是发送一个url请求并获取响应,有些参数是特定值)

  1. 根据appid、redirect_uri、response_type、scope、state获取请求code
  2. 根据appid、secret、code、grant_type获取access_token、有效时间、refresh_token(刷新token时长时使用);若access_token快过期,根据appid、refresh_token、grant_type进行刷新并获取刷新后的access_token等数据
  3. 根据access_token获取扫码登录签名算法所需sdk_ticket;使用appid、noncestr(随机字符串)、有效的sdk_ticket以及当前时间戳timestamp按照ASCII码根据字段从小到大完成组成“key1=value1&key2=value2”形式的拼接字符串string1,在使用sha1算法完成加密:signature=sha1(string1);参与签名的字段包括第三方 appid,noncestr(随机字符串), 有效的 sdk_ticket, timestamp(时间戳) 。
  4. 根据appId应用唯一标识、scope应用授权作用域、noncestr随机的尽量不重复的字符串、timestamp时间戳、signature签名、listener授权流程回调接口(OAuthListener类型)作为传入参数完成IDiffDevOAuth.auth()接口发起授权,然后在 OAuthListener.onAuthGotQrcode()回调接口中获取二维码,在 APP 中展示二维码,最后用户通过微信扫码,授权
  5. 在回调接口中完成用户数据获取与跳转。

授权流程回调接口实现类:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅尝即止何来突破

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值