OAuth2.0网页授权微信怎么用java获取openid

OAuth2.0网页授权微信怎么用java获取openid,第1张

第一步:用户同意授权,获取code 引导用户进入授权的URL 修改一些参数

在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认带有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面

第二步:通过code换取网页授权access_token  这里的access_token与基础获取的access_token不同

具体做法与上面基本一致。更换相对应的值。需要注意的是code可以写一个Servlet获取。String code = requestgetParameter("code");get/post都可以。

这样子就会返回一下json格式数据

具体代码如下。获取的code换取的access_token

根据上面代码获取的access_token  openid 然后再请求获取userinfo的接口。就能得到微信用户的所有信息了。

具体返回如下。获取用户信息代码不再写。

这就获取到用户的openid。应用授权作用域,snsapi_base (不d出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (d出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)我自己用的作用域为snsapi_userinfo。用户点击跳转页面为

目前微信服务号在网页获取微信用户openid就这两种方法,订阅号只能通过图文或文本消息打开网页,自己传用户的openid。

1在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo)

2通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid

要获取openid,必须要通过OAuth20来完成网页授权才能完成的,通过OAuth20来完成网页授权后,在经过用户许可后,就可以通过授权页面,获得用户的openid

如何通过OAuth20网页授权呢?要先通过申请高级接口功能

申请通过后,还要做一个授权页面,引导用户授权就能获得openid!

java获取微信的openid的方法是根据授权code来获取的,方法如下:

一个Servlet请求 获取code:

/

根据code取得openId

@param appid 公众号的唯一标识

@param secret 公众号的appsecret密钥

@param code code为换取access_token的票据

@return

/

public void doPost(>

获取微信OpenId 先获取code 再通过code获取authtoken,从authtoken中取出openid给前台 微信端一定不要忘记设定网页账号中的授权回调页面域名 流程图如下 主要代码 页面js代码 / 写cookie / function setCookie(name, value) { var Days = 30; var exp = new Date(); exp/connect/oauth2/authorizeappid=") /sns/oauth2/access_token"; StringBuffer url = new StringBuffer(uri); urlURL; public class >

以上就是关于OAuth2.0网页授权微信怎么用java获取openid全部的内容,包括:OAuth2.0网页授权微信怎么用java获取openid、怎么通过js获取微信用户的openid、如何获取微信用户openid等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9761399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存