当前位置: 首页 > news >正文

电脑机箱定制网站网页制作与网站建设实战大全 pdf下载

电脑机箱定制网站,网页制作与网站建设实战大全 pdf下载,太原网站设计开发公司,印刷设计东莞网站建设Java中可以使用第三方登录来简化用户登录流程#xff0c;常见的第三方登录如QQ、微信、微博等。下面是一个Java封装第三方登录的工具类#xff1a; import java.io.IOException; import java.util.HashMap; import java.util.Map;import org.apache.http.client.ClientProto…Java中可以使用第三方登录来简化用户登录流程常见的第三方登录如QQ、微信、微博等。下面是一个Java封装第三方登录的工具类 import java.io.IOException; import java.util.HashMap; import java.util.Map;import org.apache.http.client.ClientProtocolException;import com.alibaba.fastjson.JSONObject; import com.qq.connect.QQConnectException; import com.qq.connect.oauth.Oauth; import com.qq.connect.utils.HttpClientUtils; import com.qq.connect.utils.QQConnectConfig; import com.qq.connect.utils.RandomStatusGenerator;public class ThirdPartyLoginUtil {// QQ登录回调地址需与QQ应用中的回调地址一致private static final String CALLBACK_URL http://localhost:8080/qq/callback;/*** 获取QQ授权页面地址* param state 随机数用于防止CSRF攻击* return 授权页面地址* throws QQConnectException*/public static String getQQAuthorizeURL(String state) throws QQConnectException {return new Oauth().getAuthorizeURL(CALLBACK_URL, state, , );}/*** 获取QQ用户信息* param accessToken 访问令牌* param openId 用户在QQ空间的唯一标识符* return 用户信息Map集合* throws QQConnectException* throws ClientProtocolException* throws IOException*/public static MapString, Object getQQUserInfo(String accessToken, String openId) throws QQConnectException, ClientProtocolException, IOException {String url QQConnectConfig.getValue(getUserInfoURL) ?access_token accessToken oauth_consumer_key QQConnectConfig.getValue(app_ID) openid openId;String response HttpClientUtils.get(url);JSONObject jsonObject JSONObject.parseObject(response);MapString, Object userInfo new HashMapString, Object();userInfo.put(nickname, jsonObject.getString(nickname));userInfo.put(gender, jsonObject.getString(gender));userInfo.put(figureurl, jsonObject.getString(figureurl_qq_2));return userInfo;}/*** 生成随机数用于防止CSRF攻击* return 随机数*/public static String generateState() {return RandomStatusGenerator.getUniqueState();}}以上代码基于QQ登录进行封装其他第三方登录可根据需求进行修改。使用时可以先在配置文件中设置QQ应用的App ID和App Key app_IDyour_app_id app_Keyyour_app_key getUserInfoURLhttps://graph.qq.com/user/get_user_info然后在登录页面中生成随机数和授权链接 a href%ThirdPartyLoginUtil.getQQAuthorizeURL(ThirdPartyLoginUtil.generateState())%QQ登录/a在回调页面中获取访问令牌和用户信息需验证state参数 String stateInSession (String) request.getSession().getAttribute(state); String state request.getParameter(state); if (!state.equals(stateInSession)) {// 非法访问 } String code request.getParameter(code); AccessToken accessTokenObj new Oauth().getAccessTokenByCode(code, ThirdPartyLoginUtil.CALLBACK_URL); String accessToken accessTokenObj.getAccessToken(); String openId new OpenID(accessToken).getUserOpenID(); MapString, Object userInfo ThirdPartyLoginUtil.getQQUserInfo(accessToken, openId);获取到用户信息后可以进行登录操作或跳转到注册页面进行账号绑定。
http://www.dnsts.com.cn/news/166434.html

相关文章:

  • 北京高级网站建设浏览国外服务器的网站
  • 庄河市城乡规划建设局网站新媒体培训
  • 廊坊论坛网站建设做亚马逊网站一般发什么快递公司
  • 楚雄做网站宣传设计网站
  • 制作京东网站建设网站怎么放到服务器上
  • 免费注册网站哪个好做营销的网站建设
  • 金山专业网站建设网站界面设计中的布局设计要注意什么的结合
  • 站长工具查询官网wordpress食谱
  • 网站建设税收分类编码大连高新园区范围
  • 网站封装成app可以做热更新做平面设计兼职的网站有哪些
  • 怎么注册个人网站国内卡一卡二卡三网站视频
  • 湖南城市建设职业技术学院官方网站兰州网站建设加q.479185700
  • 网站建设ppt演示文档wordpress虚化主题
  • 做兼职的网站贴吧3d房屋设计软件手机版
  • 做婚介网站可行性报告wordpress禁用admin用户
  • 泉州品牌网站设计定制iis网站搭建
  • 好看的企业网站如何做网站title小标图
  • 小型网站有哪些好看的网站建设公司
  • 电商网站后台管理系统国外服务器厂商
  • 南通网站关键词优化wordpress蜜蜂采集
  • 微网站官网网站网址黄页大全免费
  • 如何找有需求做网站的公司福田区建设局网站
  • 厦门双瑞高磁网站是谁做的开发应用
  • 网站编程零基础入门做外贸需要用什么网站
  • tv域名的网站教育企业重庆网站建设
  • 网站后台使用什么做的saas小程序开发费用
  • 绍兴网站建设 微德福营销型企业网站建设与推广
  • 南昌电影网站开发wordpress 说说 插件
  • 清风算法受影响的网站怀化订水网站
  • 物流网站免费源码信息流优化师简历