微信登录

iOS微信授权登录+Universal Link(通用链接)
微信平台
Univac
后台需求

踩坑

1、iOS 配置微信SDK,需要唤醒微信App
先配置json文件,把文件apple-app-site-association,放置在服务器的根目录,然后让他提供一个https的url地址,格式是“正式域名/apple-app-site-association”,如:https://www.baidu.com/apple-app-site-association

如果后台提供的url地址是https://www.baidu.com/apple-app-site-association。那么,
Associated Domains中填写applinks:www.baidu.com
代码注册方法及微信开放平台中都填https://www.baidu.com/

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "teamID.BundleID",
                "paths": [ "/support/*" ]
            }
        ]
    }
} 

2、微信SDK返回来的code 每次都不一样。

  • 方法1
    后台服务器可以自己通过code 和微信配置通过2个接口自己获取UnionID
  • 方法2
    App自己通过2个接口获取UnionID
    获取 UnionID 的2个接口
// 通过 code 获取 access_token 和 openid 
// appid 微信配置识别号
// secret 微信配置密钥
//  code 微信SDK返回
//  grant_type 填 authorization_code
GET https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
//  access_token 接口调用凭证
//  openid 授权用户唯一标识
{
  "access_token": "ACCESS_TOKEN",
  "expires_in": 7200,
  "refresh_token": "REFRESH_TOKEN",
  "openid": "OPENID",
  "scope": "SCOPE"
}
// 获取用户个人信息(UnionID 机制)
//  access_token  openid 上个接口获取
GET https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
// nickname 普通用户昵称
// sex 普通用户性别
// province 普通用户个人资料填写的省份
// city 普通用户个人资料填写的城市
// country 国家,如中国为 CN
// headimgurl 用户头像
// unionid 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的 unionid 是唯一的。
{
  "openid": "OPENID",
  "nickname": "NICKNAME",
  "sex": 1,
  "province": "PROVINCE",
  "city": "CITY",
  "country": "COUNTRY",
  "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
  "privilege": ["PRIVILEGE1", "PRIVILEGE2"],
  "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

你可能感兴趣的:(微信登录)