用qq、微信授权登陆第三方软件会泄漏隐私吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用qq、微信授权登陆第三方软件会泄漏隐私吗?相关的知识,希望对你有一定的参考价值。

通过QQ、微信、微博等应用授权,授权后第三方网站仅能看到您的昵称、性别、头像等公开信息(不包括账户ID和其他个人信息),是很安全的。对于一些小网站、小论坛,鼓励大家使用第三方验证的方式登录,原因除了免去注册步骤之外还有就是安全性的考虑:很多小网站没办法过多注意用户的账号安全的问题,所以选择大公司的第三方验证反倒能够保证安全,能有效避免“撞库”问题。

通过扫QQ、微信的验证二维码登录的,因为鉴权完全是QQ、微信完成的,QQ、微信鉴权后,拉起第三方应用或者重定向到第三方网站,完全不会泄露用户信息


如果是第三方的APP或者网页要求直接输入QQ、微信的账户和密码,由第三方用账户密码向QQ、微信发起登录请求,那情况是不一样的,因为第三方的APP或者网页完全获取了你的账号和密码,甚至可以保存到自己的数据库。

这是要特别小心的,一切要求你输入QQ、微信密码的第三方的APP或者网页都不能相信!要特别小心钓鱼网页,有些钓鱼网页伪装成和QQ官网完全一模一样的,登录界面也一模一样,你不小心以为是QQ官网,用QQ号和密码去登陆,就悲剧了。利用好手机扫码和授权登录,能有效防止出现这种问题。

参考技术A 一般情况,不会泄露隐私的。毕竟很多应用都要求实名制了,但是不排除有的人恶意盗取信息,有些技术高的黑客还是能盗取的,这样做是违法的,要受到法律制裁的! 参考技术B 不会的,第三方软件只能拿到你的头像、昵称、资料里省市(不含区县),以及一个openId(这个id只能表示有这么一个人)
以上都不是隐私信息,通过以上信息无法找到你本人,无法跟现实中所看到的联系起来,更无法加你为好友。
参考技术C 现在的微信、qq基本都是实名制了,qq、微信登录的软件应该不会泄露隐私的。有的软件需要手机号的,经常发信息。软件里面的广告插件最好不要点击,还有一些让输入银行卡号可以领现金,就不要继续登入了,也行会盗取你的银行余额。 参考技术D 您好。应该是没有问题的,因为在登录的时候 都会显示访问自己的基础信息 尤其是自己的头像,网名等等的基础信息。这都是商家要知道的,不同意的话就不让使用软件。但是其他用户是没有任何特权知道的

Android App实现微信第三方授权登陆

  1. 下载官方SDK

  在微信开放平台,下载微信的官方SDK,以及签名生成工具。

  地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN

  2.导入官方SDK

把Android开发工具包里面的libammsdk导入到你的项目中如下图:

 

  这里要注意的是,应用签名不是在Eclispe 中查看,而是要用到我们第1步下载的签名生成工具。首先把签名生成工具安装在你的手机上,然后把你需要添加微信第三方登录功能的应用安装到你的手机上,最后按照签名工具的提示,在手机上生成应用的签名。

  如果这一步填的应用包名有错的话,将会导致你的应用无法调起微信。

  3.新建wxapi目录

  在你的项目的包名目录下新建一个wxapi目录,应用的包名可以在你的manifest文件里查看。注意,wxapi目录必须新建在你的包名目录下,否则微信返回的请求以及响应将会无法回调。

 

  4.新建WXEntryActivity类

  在上一步新建的目录下新建一个WXEntryActivity.java类,继承Activity,实现IWXAPIEventHandler接口,如下图

然后打开manifest,为这个类添加exported属性,设置为true:

  5.注册到微信

  在代码中,把你的应用注册到微信。这一步可以在你的APP的第一个Activity中进行,我就是在第一个Activity中的onCreate()方法中注册的。

/*
     * 注册到微信
     */
    private void regToWX(){
        api = WXAPIFactory.createWXAPI(this, APP_ID, true);//此处的APP_ID替换为你在微信开放平台上申请到的APP_ID
        api.registerApp(APP_ID);
        
    }

  6.调起微信

  注册完后,就可以调起微信了,通过以下几行简单的代码就可以调起微信了:

/*
 * 向微信发送授权登陆的请求
 */
	private void sendAuth(){
	    final SendAuth.Req req = new SendAuth.Req();
	    req.scope = "snsapi_userinfo";
	    req.state = "none";
	    api.sendReq(req);
	}

  这一步分的代码也是比较简单的,你可以选择在你的登录界面上,注册一个Button,点击Button,就执行上面的代码,发送授权登录请求,拉起微信了。

  7.获取token

  最后,在WXEntryActivity中,重写onResp方法,获取token。注意,新版的微信SDK中,已经code这个属性改名为token了。但是官方文档还没有改过来,我折腾了一个晚上才发现的。token就是官方教程上的code,只是名字不同了而已。获得token后,就可以利用token来获得access_token,进行后面的操作。

@Override
public void onResp(BaseResp resp) {
		switch(resp.errCode){
		case BaseResp.ErrCode.ERR_OK:
			SendAuth.Resp newResp = (SendAuth.Resp) resp;
			String token=newResp.token;
                        break;
                default:
                    break;
        }                

  再强调一遍token就是官方文档中的code,文档中的String code=newResp.code;已经不能再用了,因为code已经改名为token,所以应该要用String token=newResp.token

  进行到这一步,微信第三方授权基本上已经完成了,接下来只要利用token来获取access_token,按照官方文档获取想要的信息就可以了。如果还有不清楚地地方,欢迎留言,共同学习,如果有错误的地方,也欢迎大家提出来。

以上是关于用qq、微信授权登陆第三方软件会泄漏隐私吗?的主要内容,如果未能解决你的问题,请参考以下文章

现在微信实名认证,如果用微信号登其他软件会不会泄露个人信息?

什么是第三方登录,第三方登录如何选择

微信登录其他软件用不用密码

OAuth2.0认证流程是如何实现的?

ios 检查ios设备是否安装了qq,微信等应用

Android App实现微信第三方授权登陆