微信授权登录页面

来源:趣味经验馆 2.86W

检查你的应用签名是否是在微信登记的签名,debug签名是无法打开授权的。iPhone上能打开不代表Android就可以,两个平台签名是不一样的。 微信登录的appid 必须经过微信审核且账号通过微信开发者认证,一个微信开发者认证下可以建立10个app。 微信

保护自己的隐私是非常重要的,在日常使用中微信授权过很多应用,其实微信授权是可以取消的。

应用:微信里,设置-隐私-授权管理(只有iOS能用) 网站:需要到第三方网站取消授权,如果第三方网站没有提供这个功能,可以找他们客服要求解绑。 因为网站授权是一次性的,获取的只有并不重要的基础资料,比如头像、昵称、所在地和uid等,后面

一起来看看吧!

有以下限制, 1.必须在微信打开 2.微信页面授权 其中第一步比较容易实现,修改下ua(user-agent),让其携带“MicroMessenger”字段即可。 第二部则是由于微信浏览器内置一些js库,在其他浏览器是无内置的,所以在chrome网页授权基本是无效的。不过可

1.打开微信APP,点击右下角我。

打开手机上的”安全中心“,点击最后一个”授权管理“选项; 点击”应用权限管理“,在打开的页面上点击”应用管理“; 用手指滑动页面,找到微信一栏,点击微信; 滑动页面,找到”隐私相关“一栏,在里面可以看到短信记录、联系人记录等涉及到隐私的选项

微信授权登录页面

2.在页面里点击【设置】。

1、先申请订阅号或者服务号,已认证服务号可以获取用户信息,其他的只能获得openId 2、根据文档一步步实现 附:微信网页登录授权接口 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842&token=&lang=zh_CN

微信授权登录页面 第2张

3.选择【隐私】。

对于普通第三方的授权,可以不用管,授权有时间限制,过期自动取消。 普通授权只能获取到资料中的昵称,头像,性别,国家,省份,城市 腾讯系APP的授权,没有时间限制,但是现在可以在设置-隐私-授权管理 内取消 百度搜索QQ授权,右上角登陆后,

微信授权登录页面 第3张

4.点击【授权管理】在这里你之前授权的应用都可以看到。

微信授权了第三方网站可以在微信的设置页面进行取消授权,具体步骤如下: 1、打开微信首页,然后点击屏幕右下角的“我”按钮; 2、在“我”页面,找到设置按钮并点击; 3、在设置页面找到“隐私”选项并打开; 4、在隐私页面最下方可以看到“授权管理”

微信授权登录页面 第4张

5.选择你想取消的应用就可以了。

1.先到公众平台网站的我的服务页中配置授权回调域名。(请注意,这里填写的域名不要加http://) 2.让用户进入制定URL(https://open.weixin.qq.com/connect/oauth2 /authorize?appid=APPID&redirect_uri=REDIRECT_URI& response_type=code&scope

微信授权登录页面 第5张

注意事项:如出现差别请检查手机微信是否为对应版本,取消后还可以添加。

当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务,可以这么做: 1. 把公众号的网页授权接口域名设置成另外一个子域名,如proxy.your.com; 2. 然后把php_weixin_proxy里面的index.php部署到proxy.your.com php_weixin_prox

扩展阅读,以下内容您可能还感兴趣。

微信OAuth2.0授权回调页面域名设置问题怎么解决?

当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务,可以这么做:  

1. 把公众号的网页授权接口域名设置成另外一个子域名,如proxy.your.com;    

2. 然后把php_weixin_proxy里面的index.php部署到proxy.your.com

php_weixin_proxy下的index.php是一个很简单的php文件,你可以直接查看源码了解它的实现方式。因为当前项目的环境,我采用php来完成这个代理服务实现,实际上,你完全可以用任意平台语言来完成类似的功能。

当其它业务需要发起微信授权时,将授权请求先发到proxy.your.com,然后proxy.your.com会把这个请求转发到微信;  

当用户同意授权后,proxy.your.com会收到微信的授权回调,并把回调结果(code、state参数)原封不动地再返回给最开始发起授权的业务。

唯一的区别在于,在不使用proxy.your.com的时候,你从应用发起微信授权的链接应该是这样的:  

https://open.weixin.qq.com/connect/qrconnect?appid=xxxxx&redirect_uri=http%3A%2F%2Fpassport.your.com%2F&response_type=code&scope=snsapi_login&state=584bc87e11ff37492#wechat_redirect    

用了proxy.your.com之后,这个授权链接就应该是这样的:    

http://proxy.your.com/?appid=xxxxx&redirect_uri=http%3A%2F%2Fpassport.your.com%2Flogin%2Fnotify&response_type=code&scope=snsapi_base&state=584bc87e11ff37492&device=pc

后面这个链接跟上面的比:  

1. 后面的链接中的host变成了proxy.your.com,也就是代理的授权回调域名;    

2. 后面的多了一个device参数,这个是必要的。因为微信pc端跟移动端的授权地址是不一样的,而后面的链接是发送个proxy.your.com的,所以需要多加个参数告诉它在转发给授权申请给微信的时候,是用PC端还是移动端的授权地址。

1. 用户从我们的应用触发需要授权的操作,比如点击微信登录;    

2. 应用收到这种用户请求后,将用户重定向到微信提供的一个授权页面:    

或    

3. 用户通过微信扫码(PC端授权,上边左图)或者点击确认按钮(移动端授权,上边右图)告知微信,授权应用访问自己的微信账号信息;    

4. 微信收到用户的授权许可后,生成授权码,并把它作为参数回调至应用的某个页面;    

5. 应用的回调页面在接收到微信的回调请求后,拿到其中的授权码,并通过微信官方提供的access token api接口获取access token;    

6. 最后通过access token以及微信官方提供的另一个userinfo api接口就能获取到用户的微信账号信息。

为了实现这个过程,首先要为应用申请一个微信公众号,并将应用最终部署的域名设置到微信公众号设置里面的授权回调页面域名这个选项里面。微信官方对这个选项的说明如下:

关于网页授权回调域名的说明

1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;

2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权

3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可

由此可见,这个规则极其严格。如果说我们的应用最终部署的时候只有一个域名,那么这种规则不会有什么问题;但是考虑到将来应用的复杂性,我们可能在应用设计之初就会对应用做拆分,然后不同的业务采用不同的二级域名来部署。比如一个带有交易的应用,你可能会把登录注册,交易管理和常规业务都独立出来,然后采用以下的方式来部署它们:  

www.your.com 部署常规业务;    

trade.your.com 部署交易管理的业务;    

passport.your.com 部署登录注册的业务;    

在这种模式下,如果集成微信登录和微信支付,前面说的授权回调页面域名的规则就会给应用带来问题。在这里:至少可以确认trade.your.com和passport.your.com都需要前面的介绍的用户微信授权,但是它们是两个不同的子域名,而且我们只有一个公众号;根据授权回调页面域名的原则,它只能用一个域名,并且只有回调地址的域名与该设置完全相同,才能成功发起微信授权,否则就会提示rediret_uri参数错误或者引发无法回调的问题。

那么这种情况该如何处理?

当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务,可以这么做:  

1. 把公众号的网页授权接口域名设置成另外一个子域名,如proxy.your.com;    

2. 然后把php_weixin_proxy里面的index.php部署到proxy.your.com

php_weixin_proxy下的index.php是一个很简单的php文件,你可以直接查看源码了解它的实现方式。因为当前项目的环境,我采用php来完成这个代理服务实现,实际上,你完全可以用任意平台语言来完成类似的功能。

当其它业务需要发起微信授权时,将授权请求先发到proxy.your.com,然后proxy.your.com会把这个请求转发到微信;  

当用户同意授权后,proxy.your.com会收到微信的授权回调,并把回调结果(code、state参数)原封不动地再返回给最开始发起授权的业务。

唯一的区别在于,在不使用proxy.your.com的时候,你从应用发起微信授权的链接应该是这样的:  

https://open.weixin.qq.com/connect/qrconnect?appid=xxxxx&redirect_uri=http%3A%2F%2Fpassport.your.com%2F&response_type=code&scope=snsapi_login&state=584bc87e11ff37492#wechat_redirect    

用了proxy.your.com之后,这个授权链接就应该是这样的:    

http://proxy.your.com/?appid=xxxxx&redirect_uri=http%3A%2F%2Fpassport.your.com%2Flogin%2Fnotify&response_type=code&scope=snsapi_base&state=584bc87e11ff37492&device=pc

后面这个链接跟上面的比:  

1. 后面的链接中的host变成了proxy.your.com,也就是代理的授权回调域名;    

2. 后面的多了一个device参数,这个是必要的。因为微信pc端跟移动端的授权地址是不一样的,而后面的链接是发送个proxy.your.com的,所以需要多加个参数告诉它在转发给授权申请给微信的时候,是用PC端还是移动端的授权地址。

整体方案思路:

小结:

这个方案我测试过,是行的通的。虽然说引入了代理服务,增加了一次重定向操作,不过由于这个授权请求并不是所有请求都需要,所以实际上也不会对用户体验产生多大的影响,但是从架构上来说,它的好处很明显,能够配合着应用的拆分逻辑,集成同一个公众号的登录及支付功能,不必为每个子应用都单独申请一个公众号来开发了(这种方式从业务上来说也不合理,一个公司哪需要运营那么多公众号)。

微信网页授权登陆,第一次用户授权后,用户再次进入页面时,如何判断已经授权过了

写Cookies 或者_SESSION保存用户唯一数据,然后判断数据

android微信授权登陆后怎么更新用户状态

的第三方登录授权过后,获取到了用户的信息后,再去点击 的登录按钮,不再跳转 的登录页面了

怎么取消微信授权登录?

1.登录微信公众平台。2.点击左侧【添加功能插件】。3.打开后切换到【授权管理】。4.公众号可以登录授权给第三方开发者,授权后,可以在本页取消授权。

具体步骤如下

点击我,然后点击设置

2.在设置页面里里点击隐私。

3.然后点击授权管理这一项

4.在授权管理点击要取消授权的应用。

5.点击删除。

6.点击完成。

有很多的应用软件都需要微信登录,例如腾讯视频,全民K歌这些,如果我们不想使用该软件了,IOS系统可以在微信的授权管理将其删除的。又或者不想让微信好友看到自己在该软件的动态,我们也可以关闭“朋友关系”这一功能的。

1、使用微信授权登录有哪些优势/好处;

1)、用户量足够大,基本所有用户都会有微信,登录起来比较方便快捷;

2)、微信作为一个开放平台,为众多公众号/服务开放了许多服务接口,让公众号能够为自己的用户提供更加个性、更加优质的产品服务;

微信获取用户信息授权认证页面怎么跳过?

这个事无法跳过的,只要按确定就好。如果你是怕乱授权了什么之类的, 其实不用担心。让你授权的公众平台都是经过微信认证后的服务号。这个授权是为了提供更好的服务用的,比如获取你的地址后,可以基于LBS系统给你发送附近的信息等。而且这些授权的东西平台本身是看不到的。所有的信息都在微信服务器上。

当你离开此公众平台就自动取消授权了,所以不用担心。每次点取消就行了追问我看了好多公众号里面都不会出现这个认证页面啊??他们是怎么做的呢?追答这个是腾讯的微信平台做了*的,这个网页是通过微信的Oauth2认证链接的,不是普通链接,腾讯会检测访问来源,如果不是从微信客户端访问会被拒绝。

热门标签