忙忙碌碌一个月,忘记更新文章了,今天补上。
前言:
微信登录集成可以参考微信开放平台移动应用接入指南与微信github开源Demo,介绍的都很详细。本文简单介绍一下集成过程,及需要注意的地方(在最后哦)。
微信开放平台:http://open.weixin.qq.com
github地址:http://github.com/Tencent/WeDemo
一、准备工作
1.在微信·开放平台申请微信开放平台微信登录AppID、AppSecret
如AppID:wx9740xxxxxxxxxxxx
AppSecret:53495fb2e31dxxxxxxxxxxxxxxxxxxxx
2.下载iOS微信SDK将SDK添加到工程目录中
3.添加依赖的库文件
4.添加URL Type
5.添加URL Schemes白名单
二、集成工作
通用流程:
1.向微信注册app;
2.应用内触发登录;
3.打开微信获取授权authorization_code
4.使用authorization_code、AppID、AppSecret获取access_token
5.使用access_token获取微信部分个人信息
1.向微信终端程序注册第三方应用,并在第三方应用实现从微信返回,在AppDelegate.m中引入"WXApi.h"头文件。添加如下代码
2.在控制器中添加登录代码,触发向微信请求授权
参数说明
3.添加授权登录成功通知,向微信请求授权被处理后会回调到此方法
4.在控制器中实现授权登录成功之后的回调,授权登录成功之后获取access_token
5.使用access_token获取微信部分个人信息,获取到用户信息之后,更新到己方App中登录用户的信息即可。
项目微信登录流程
1.向微信注册app
2.应用内触发登录
3.打开微信获取授权authorization_code
4.调用Web服接口上传authorization_code和AppID,由Web服发起对微信用户信息的请求,成功后转为loginUser下发客户端
AppSecret是应用接口使用密钥,access_token为用户授权第三方应用发起微信接口调用凭证,泄露后可能导致应用数据、用户数据泄露等高风险后果,存储在客户端,极有可能被恶意窃取。
出于安全考虑,项目中微信登录流程中,使用微信推荐的方式,客户端不持有微信AppSecret,只持有微信AppID用于注册应用请求授权。AppSecret存于Web服务端,客户端通过AppID获取到微信授权authorization_code,调用Web服接口传给Web服。通用微信登录流程中的步骤4、5,交由服务端处理请求微信接口,获取微信部分个人信息,转换为loginUser下发。