第三方对接-微信登陆对接

对接第三方之微信登陆

由于目前市面上社交软件的使用排行来看,基本上微信一马当先。因此在大多数应用上都会内置微信登陆的场景,这时候我们就非常有必要熟悉微信的登录流程。

微信登陆

微信官方开发文档说明目前移动应用上微信登录仅支持原生登陆方式,需要用户安装微信客户端才能配合使用

特殊说明:

对于 Android 应用,建议总是显示微信登录按钮,当用户手机没有安装微信客户端时,请引导用户下载安装微信客户端。对于 iOS 应用,考虑到 iOS 应用商店审核指南中的相关规定,建议开发者接入微信登录时,先检测用户手机是否已安装微信客户端(使用 sdk 中isWXAppInstalled函数 ),对未安装的用户隐藏微信登录按钮,只提供其他登录方式(比如手机号注册登录、游客登录等)。

微信登陆流程图如下:

在这里插入图片描述上述流程只是简述微信对接流程,在真实场景下应增加各种过期逻辑校验以及安全性处理

具体流程如下:

1、安卓或IOS通过内置SDK拉起本地微信应用,微信用户授权后获取授权临时票据(code),

IOS如下:

-(void)sendAuthRequest
{//构造 SendAuthReq 结构体SendAuthReq* req =[[[SendAuthReq alloc]init]autorelease];req.appid = "wxd477edab60670232"req.scope = @"snsapi_userinfo";req.state = @"123";//第三方向微信终端发送一个 SendAuthReq 消息结构[WXApi sendReq:req];
}

安卓如下:

{// send oauth requestFinal SendAuth.Req req = new SendAuth.Req();req.appid = "wxd477edab60670232"req.scope = "snsapi_userinfo";req.state = "wechat_sdk_demo_test";api.sendReq(req);
}

2、通过授权临时票据(code)获取access_token

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

请求参数如下:

{"appid": "微信开放平台应用唯一标识","secret": "应用密钥APPSecret","code": "授权临时票据","grant_type": "authorization_code"}

微信响应:

{"access_token": "接口调用凭证","expires_in": "accessToken超时时间,单位秒","refresh_token": "用户刷新accessToken","openid": "授权用户微信唯一标识","scope": "用户授权的作用域","unionid": "用户userInfo授权"
}

错误响应:

{"errcode": 40029,"errmsg": "invalid code"
}

微信官方accessToken的有效期为2小时(即7200秒。当accessToken失效后,需要调用以下接口进行刷新

https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN若access_token已超时,那么进行refresh_token会获取一个新的access_token,新的超时时间;
若access_token未超时,那么进行refresh_token不会改变access_token,但超时时间会刷新,相当于续期access_token。
refresh_token 拥有较长的有效期(30 天),当 refresh_token 失效的后,需要用户重新授权。

3、获取用户信息

GET https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

请求参数:

{"access_token": "","openid": "","lang": "zh_CN"
}

正确响应:

{"openid": "OPENID","nickname": "NICKNAME","sex": 1, "province": "PROVINCE","city": "CITY","country": "COUNTRY","headimgurl": "https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0","privilege": ["PRIVILEGE1", "PRIVILEGE2"],"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31928.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对三大数学软件 Mathematica 、Maple 、MATLAB 的小测试比较

今天一时兴起,突然想试试几个数学软件的功能,就测试了一个不定积分,看看哪个算得最好,最简洁。 计算: 以下计算结果我都一一验算了。 1).先在Mathematica(我用的是在线的wolframalpha)中计算,结…

【计算机图形学(译)】 二、各种各样的数学

【计算机图形学(译)】 二、各种各样的数学 2 各种各样的数学 Miscellaneous Math2.1 集合和映射 Sets and Mapping2.1.1 反向映射 Inverse Mappings2.1.2 区间 Intervalsoft2.1.3 对数 Logarithms 2.2 解二次方程 Solving Quadratic Equations2.3 三角学 Trigonomet…

和托托一起学计算机图形学(一)-初识计算机图形学

文章目录 初识计算机图形学一、计算机科学与视觉信息处理二、计算机图形学的应用三、总结 数字图像基础一、像素二、RGB和CMY颜色模型三、颜色编码四、查色表五、图像文件六、总结 初识计算机图形学 一、计算机科学与视觉信息处理 计算机图形学:建模(建…

如何使用 ChatGPT 掌握讲故事的艺术

想出一个故事情节,虽然有时很有趣,但可能是一个耗时的过程。或者你可能会发现自己遇到了作家的障碍——每个作家存在的祸根。 这个重要的灵感火花是 ChatGPT 可以提供帮助的地方。OpenAI流行的文本生成聊天机器人可以协助写作过程的任何部分&#xff0c…

仅剩1位73岁开发者苦撑!能求解超复杂物理方程式的计算程序,要没人维护了...

明敏 Alex 发自 凹非寺量子位 | 公众号 QbitAI 高能物理先进计算必备程序之一,快要没人维护了。 随着唯一的长期维护者达到73岁高龄,计算系统FORM的命运开始变得扑朔迷离起来。 过去30多年,这个程序被视为粒子物理学研究的基础工具之一&#…

苹果的头显,只要看一眼就行

阅读本文大概需要 1.66 分钟。 今年的 WWDC23 开发者大会,不少人表示 iOS 更新了个寂寞,但 Vision Pro 头显却意外吸引眼球,看来苹果工程师都忙着搞头显去了。 苹果的头显终于还是来了,关于它的传闻,似乎这几年从未间断…

AN OVERVIEW OF LANGUAGE MODELS RECENT DEVELOPMENTS AND OUTLOOK

LLM系列相关文章,针对《AN OVERVIEW OF LANGUAGE MODELS: RECENT DEVELOPMENTS AND OUTLOOK》的翻译。 语言模型综述:近年来的发展与展望 摘要1 引言2 语言模型的类型2.1 结构化LM2.2 双向LM2.3 置换LM 3 语言单元3.1 字符3.2 单词和子单词3.2.1 基于统…

使用 Sealos 三分钟打造鉴黄神器,我有个大胆的想法……

"NSFW" 是 "Not Safe For Work" 的缩写,通常用于标记那些在工作场所可能不适当的的在线内容。这种内容可能包含暴力、色情、血腥、或者其他可能被认为是令人反感或冒犯的材料,最常见的原因……是 18 成人内容。在许多在线平台&#…

8年前端带你HTML+CSS入门到实战(附视频+源码)

本文主要是解决: ☆ 想要自学前端开发, ☆ 但又不太想看博客文章, ☆ 觉得自学有点吃力,有点不知道学习步骤的同学 目录 一、HTML 1、需要了解熟练的标签 2、不太常用的标签 3、怎么算是HTML学好了,可以继续学CSS了…

NLP中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert

点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要15分钟 跟随小博主,每天进步一丢丢 作者:JayLou,NLP算法工程师 知乎专栏:高能NLP之路 地址:https://zhuanlan.zhihu.com/p/56…

6款AI写作工具类网站推荐(第二版)

我们搜集了一些AI写作工具,希望对你有帮助,不论是在提升工作效率方面,还是在了解最新的AI技术方面,帮助你提升工作效率。 Notion AI https://www.notion.so/product/ai NotionAi可以提供AI智能写作,还能检查代码、语法…

国内大模型侵权第一案,6 年成果,被爬取 200+ 万次,仅索赔 1 元?

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 上个月,学而思曾透露消息称,目前其正在自研数学大模型 MathGPT,即面向全球数学爱好者和科研机构,以数学领域的解题和讲题算法为核心打造而成。 彼时许多…

用GPT-4 写2022年天津高考作文能得多少分?

正文共 792 字,阅读大约需要 3 分钟 学生必备技巧,您将在3分钟后获得以下超能力: 积累作文素材 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图片由Lexica …

react聊天组件:用antd和react-chat-element组装的聊天列表

效果图: 安装库 用到了antd design和github上的一个库:react-chat-element (1)antd design: 安装:yarn add antd 修改 src/App.css,在文件顶部引入 antd/dist/antd.css import ~antd/dist/a…

chatgpt赋能python:人脸识别技术进程Python应用

人脸识别技术进程Python应用 人脸识别技术是计算机视觉领域的重要应用,随着深度学习技术的发展,越来越多的人开始关注并使用这种技术。Python作为一种高效、易用的编程语言,也在人脸识别领域得到了广泛应用,本文将介绍Python如何…

chatgpt赋能python:Python人脸搜索:进入智能搜索的新时代

Python人脸搜索:进入智能搜索的新时代 随着神经网络和深度学习的迅猛发展,人工智能已经成为许多领域中最重要的研究方向。人脸搜索的普及,是人工智能引领的技术革命最具有代表性的例子。Python作为一种高级编程语言,在人脸搜索领…

chatgpt赋能python:Python实现人脸识别系统

Python实现人脸识别系统 在当今科技发展的时代,人脸识别技术已经广泛应用于各行各业中,如安全防范、金融交易、医学检测等领域,成为了一个备受瞩目的技术。Python作为当今最流行的编程语言之一,其实现人脸识别系统的能力备受重视…

chatgpt赋能python:人脸识别软件的作用及发展

人脸识别软件的作用及发展 随着科技的飞速发展,人脸识别技术越来越广泛地应用于各个领域,例如安全监控、金融交易、社交网络等。人脸识别软件通过识别人脸图像中的特征来进行身份验证或辨认,具有高效、准确、便捷等优点。而Python作为一种易…

chatgpt赋能python:Python人脸匹配:自动识别人脸并进行匹配

Python人脸匹配:自动识别人脸并进行匹配 介绍 Python已经成为一种广泛使用的编程语言,在许多任务中被广泛应用。其中一项任务是人脸匹配,这是在安全性和身份验证方面非常有用的应用程序。Python提供了一些很好的库,使得在Python…

chatgpt赋能python:Python人脸识别教程

Python人脸识别教程 什么是人脸识别? 人脸识别是一种通过人脸图像进行身份识别的技术,根据人脸的特征信息进行比对,以识别一个人的身份。 Python人脸识别技术 Python是一种高级编程语言,现在被广泛应用于人工智能,…