微信登陆功能开发者索引

微信登录是指App和网站应用,可以通过接入该功能,让用户可以通过微信帐号登录,并且用户同意后将用户基本信息(头像、昵称、性别、地区、语言)提供给开发者。大大降低了用户注册、登录的门槛,借助庞大的微信用户群,给App带来更多新用户。

 

微信登录功能申请已经向开发者开放,只要微信开放平台帐号通过开发者资质认证,其帐号下所有的App和网站应用将自动获得微信登录权限。

 

一、申请权限

通过微信开放平台开发者资质认证的开发者,其帐号下所有的移动应用和网站应用自动获得微信登录权限。

 

第一步:访问微信开放平台网站(open.weixin.qq.com),点击进行开发者注册,已经有帐号的可以直接登录。

 

第二步:申请微信开发者认证,在帐号中心申请开发者认证。

 

第三步:申请提交应用,进入管理中心,点击“创建移动应用”或者“创建网站应用”,填写资料后等待审核,审核通过后就会获得AppID和AppSecret。

 

二、搭建接入环境

获得AppID和AppSecret后,前往微信开放平台资源中心下载对应平台的SDK集成到App的工程文件中。开发环境搭建方法可参考微信开放平台资源中心文档:

iOS接入环境搭建方法:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417694084&token=&lang=zh_CN

 

Android接入环境搭建方法:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN

 

三、微信登录接入开发(以移动应用开发为例)

微信登录授权流程大致分为以下步骤:

 

1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

 

2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;

 

3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

 

 

 

 

 

第一步:请求CODE

开发者在集成了微信SDK的App中调用微信登录接口。

iOS平台应用授权登录接入代码示例:

 


 

(void)sendAuthRequest

{

//构造SendAuthReq结构体

SendAuthReq* req =[[[SendAuthReq alloc ]init ] autorelease ];

req.scope = @"snsapi_userinfo";

req.state = @"123" ;

//第三方向微信终端发送一个SendAuthReq消息结构

[WXApi sendReq:req];

}

 

Android调用如下代码:

 


 

{

// send oauth request

Final SendAuth.Req req = newSendAuth.Req();

req.scope = "snsapi_userinfo";

req.state ="wechat_sdk_demo_test";

api.sendReq(req);

}

 

微信客户端会被拉起,跳转至授权界面

用户在该界面点击允许或取消,SDK通过SendAuth的Resp返回code数据给调用方。

 

第二步:通过code获取access_token

获取第一步的code后,App要将code传回App的后台服务器,后台服务器请求以下链接获取access_token:

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

 

参数:appid和secret填入在申请移动应用的时候开放平台分配的字段,可在应用详情中获得,code填写第一步获得的code,grant_type固定填写为authorization_code。

 

 

特别注意:请在任何情况下都不要将secret和code泄漏给其他人,也不要保存在App客户端中,防止造成敏感信息泄漏。

 

调用成功后返回如下信息:


{

"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",

"unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"

}

 

 

注意:access_token是调用授权关系接口的调用凭证,由于access_token有效期(目前为2个小时)较短,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天。

 

请求接口如下:

https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

 

第三步通过access_token调用接口

获得access_token后,通过一下接口可以获得用户基本信息。

 

http请求方式: GET

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

 

 

返回信息如下:


{

"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"

}

 

注意:这一步同样要在App客户端后台进行,不要将ACCESS_TOKEN暴露到或者保存在App客户端中,后台获取到用户基本信息后,保存到相应的用户帐户数据库中,再由App客户端访问数据库后展现给用户。

 

时间: 2024-10-02 12:32:09

微信登陆功能开发者索引的相关文章

微信内侧微信登陆功能和UnionID机制 暴露“连接一切”的野心

6月27日,微信同时开放微信登陆功能的内测和UnionID机制,当前,很 多人还不知具体情况,我做下个人的阐释: 微信登陆功能,拥有微信支付权限的移动应用(App和游戏)和网站,可以申请微信登陆权限.这在我们玩微信游戏时就可以体验到微信登陆功能,在此之前微信登陆功能只开放给"国家队",从现在开始也会逐渐开放给其他第三方移动应用和网站. UnionID机制,官方的解释是: 通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个公众号,可使用以下办法通过

百度浏览器怎么添加微信应用功能

  1:点击[菜单]--[我的应用] 2:选择打勾上,就可以看到有上角多了一个微信登陆功能. 3:如果没有微信应用插件,[打开应用中心],输入微信查找,选择适合你的,下载.

第三方应用-微信登陆获取不到code

问题描述 微信登陆获取不到code 我在第三方应用使用微信登陆功能,但是回调中 SendAuth.Resp 里面没有code这个属性,我怎么获取code呢 解决方案 public void onResp(BaseResp resp) { switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: String code = ((SendAuth.Resp) resp).code; //即为所需的code break; http://songyuan

今天微信开放平台发布了一个内测的新功能微信登陆

摘要: 今天微信开放平台发布了一个内测的新功能微信登陆.微信登录是指移动应用和网站应用,可以通过接入该功能,让用户可以通过微信帐号来登录,降低注册门槛和用户流失率.此外, 今天"微信开放平台"发布了一个内测的新功能--微信登陆.微信登录是指移动应用和网站应用,可以通过接入该功能,让用户可以通过微信帐号来登录,降低注册门槛和用户流失率.此外,还会在经过用户同意后,将用户基本信息(头像.昵称.性别.地区.语言)提供给开发者. 微信登录当前处于邀请内测阶段,邀请已开通移动应用微信支付的帐号,

新版微信增加声音登陆功能目前仅对部分用户开放

新版微信增加声音登陆功能 目前仅对部分用户开发12月23日消息,微信iOS最新版增加了声音登陆功能,微信团队将其命名为声音锁.想要使用的用户,需要在设置里开启该功能,按系统要求读出随机数字若干次,在微信提取你的声音特征参数后,退出再登录.念出相应数字就能解锁登录.不过,目前该功能仅对部分用户开发.据了解,声音锁使用的是由微信模式识别中心语音技术组开发的声纹识别技术.此前已经有指纹.人脸等识别技术,比如TouchID.Face++等,声纹识别普及较晚是因为识别技术门槛较高.对用户发音的要求也比较严

Thinkphp整合微信支付功能_php实例

先上效果图:我要告诉你我这一篇文章写的是微信支付之中的(普通商户而非服务商商户的统一下单JSPI)微信支付: 其实自己整合SDK失败了,用了一个博客博主整合的代码,在这里写一下笔记: 前面准备: 1.微信公众号: 独特的appid.appscrect.接口权限之中设置可以获取用户ID信息权限的域名(每个用户对于不同公众都会有一个特有ID,通过这个ID获取用户微信账号基本信息.详情看微信开发者文档).在微信支付按钮出设置微信支付授权目录(写到发起请求的控制器那一层).设置开发者微信账号为测试白名单

Thinkphp整合微信支付功能

先上效果图:我要告诉你我这一篇文章写的是微信支付之中的(普通商户而非服务商商户的统一下单JSPI)微信支付: 其实自己整合SDK失败了,用了一个博客博主整合的代码,在这里写一下笔记: 前面准备: 1.微信公众号: 独特的appid.appscrect.接口权限之中设置可以获取用户ID信息权限的域名(每个用户对于不同公众都会有一个特有ID,通过这个ID获取用户微信账号基本信息.详情看微信开发者文档).在微信支付按钮出设置微信支付授权目录(写到发起请求的控制器那一层).设置开发者微信账号为测试白名单

腾讯微信商业化猜想:微信支付功能充当探路石

微信的下一步会怎么走?这个答案正在逐渐清晰:伴随微信支付即将出现在微信5.0版本中,一切关于微信商业化的猜想都有了一个坚实的支柱.     就在昨日腾讯合作伙伴大会上,微信产品部助理总经理曾鸣公布了微信5.0版本将会做出的调整.他在微信专场分论坛上用了极为罕见地肯定口吻向开发者介绍,"微信5.0版肯定会推出微信自己的支付,叫做微信支付."很 多人可能没有注意到的是,曾鸣所在职位负责的主要工作即微信开放平台建设及商业化执行工作.     虽然会场上并未看到关于微信支付功能具体形态和操作方

微信卡券功能相关策略调整 类目库存等进行修改

双11狂欢活动微信的战绩应该不是很好,很少看到相关数据报道,现在微信发布卡券功能相关策略调整公告,微信卡券功能正式向直供型电商开放申请了,这是在亡羊补牢吗?(11月11日,腾讯低调庆祝了16岁生日,并在晚间宣布上线有"免费通话"功能的"微信电话本".用户已超8亿的微信,再次试图通过"过顶传球"颠覆运营商最根本的语音业务.) 以下是微信团队的系统公告 卡券功能相关策略调整 卡券功能在原有基础上做出多项优化.改进,以下是最核心的五点: 一.卡券功能正