导航:首页 > 编程语言 > 微信授权登录java

微信授权登录java

发布时间:2023-06-29 22:47:55

1. 关于java接口提供安卓qq,微信第三方授权登录问题

按照他的文档一步一步的做就可以了,如果你做APP直接选安卓,如果你做JAVAWEB那你要选择js的。

2. 你好,看到您提问OAuth2.0网页授权微信怎么用java获取openid

  1. 首先需要在微信后台的网页授权那边添加你的信任的域名下地址

  2. 页面上获取code参数

    function getQueryString(name){
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
    }

var code = "";
$(function(){
code = getQueryString('code');

。。。。。

3.传入code调用接口获取openid

public static String oauth2GetOpenid(String code) {
HttpClient client = null;
String result = "";
try {
client = new DefaultHttpClient();
HttpGet httpget = new HttpGet("https://api.weixin.qq.com/sns/oauth2/access_token?appid="+Constant.WECHATAPPID+"&secret="+Constant.WECHATAPPSECRET+"&code="+code+"&grant_type=authorization_code");
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = client.execute(httpget, responseHandler);
Object obj = JSONValue.parse(response);
JSONObject jbt = (JSONObject) obj;
result = String.valueOf(jbt.get("openid"));
} catch (Exception e) {
e.printStackTrace();
} finally {
client.getConnectionManager().shutdown();
}
return result;
}

3. java怎么获取微信的openid

java获取微信的openid的方法是根据授权code来获取的,方法如下:
一个Servlet请求 获取code:
/**
* 根据code取得openId
*
* @param appid 公众号的唯一标识
* @param secret 公众号的appsecret密钥
* @param code code为换取access_token的票据
* @return
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//参数
String code = request.getParameter("code");

if(null != code && !"".equals(code)){
log.info("==============[OAuthServlet]获取网页授权code不为空,code="+code);
//根据code换取openId
OAuthInfo oa = WeixinUtil.getOAuthOpenId(Constants.appId,Constants.appSecret,code);
UserInfo info = WeixinUtil.getUserInfo(oa.getAccessToken(), oa.getOpenId());
if(!"".equals(oa) && null != oa){
request.setAttribute("openid", oa.getOpenId());
request.setAttribute("nickname", info.getNickname());
request.getRequestDispatcher("/index.jsp").forward(request, response);

}else{
log.info("==============[OAuthServlet]获取网页授权openId失败!");
}
}else{
log.info("==============[OAuthServlet]获取网页授权code失败!");
}
}

替换相应的APPID APPSECRET SCOPE。
过code换取网页授权access_token 这里的access_token与基础获取的access_token不同

获取code后,请求以下链接获取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

具体做法与上面基本一致。更换相对应的值。需要注意的是code可以写一个Servlet获取。String code = request.getParameter("code");get/post都可以。
这样子就会返回一下json格式数据
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}

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

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

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

5. oauth2.0网页授权微信怎么用java获取code

@RequestMapping(value="oauth2/{type}/{appId}/{scope}", method=RequestMethod.GET)
public ModelAndView index(@PathVariable String type,@PathVariable String appId,@PathVariable String scope,String openId){
ModelAndView view=new ModelAndView();
if(StringUtils.isEmpty(appId)||mapWxAppInfo.get(appId)==null){
view.setViewName("fail");
return view;
}
//scope=snsapi_base 获取用户openId,无需授权
//scope=snsapi_userinfo 获取用户基本信息,需授权
String oauthUrl="https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s#wechat_redirect";
//处理授权回调地址
String callback="http://wx.lrlz.com/wx/callback/"+appId;
if(!StringUtils.isEmpty(openId)){
callback += "/"+openId;
}
oauthUrl=String.format(oauthUrl, appId,callback,scope,type);
log.info("微信授权认证地址="+oauthUrl);
view.setViewName("redirect:" + oauthUrl);
return view;
}

/**
* 处理网页授权回调
* */
@RequestMapping(value="callback/{appId}")
public ModelAndView callback(@PathVariable String appId,String code,String state,String redirectUri,HttpServletRequest req,HttpServletResponse response){
return getCallback(appId,code,state,null);
}

这样就行了

阅读全文

与微信授权登录java相关的资料

热点内容
圣剑勇者安卓怎么操作 浏览:543
如何给好友加密消息 浏览:860
视频加密失败怎么办 浏览:502
中国最好的加密机 浏览:717
什么是工艺压缩机 浏览:598
老盖聊技术dos命令 浏览:525
云服务器租多大的 浏览:883
加密和认证哪个好 浏览:184
好游快爆app如何同步 浏览:622
程序员完美办公环境 浏览:408
有关程序员的魔咒 浏览:16
windows工具菜单包含的命令 浏览:565
python中文词语数 浏览:439
安卓直屏播放源码 浏览:54
吉林高配服务器云空间云主机 浏览:305
51aspx源码打包 浏览:592
我的世界怎么可以抢服务器 浏览:293
Python多线程最大线程限制 浏览:634
python圆形图片 浏览:785
jsp程序设计pdf 浏览:992