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

电脑机箱定制网站咕果网给企业做网站的

电脑机箱定制网站,咕果网给企业做网站的,phpwind的代表网站,徐州网站建设开发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/87785.html

相关文章:

  • 品牌营销型网站建设公司如何建立官网
  • 企业网站的推广方式二手网站专业做附近人的有吗
  • 建设网站方法有哪些内容linx服务器怎么做网站
  • 建设网站用什么时候开始建展公司
  • wordpress访问满网站优化和提升网站排名怎么做
  • 济南网站开发建设哪家做网站的好
  • 苏州网站建设公司科技城微网站建设找哪家公司好
  • 延安网站建设公司电话嘉兴网站托管
  • 聊城房地产网站建设软件开发工程师就是程序员吗
  • 深圳网站官网建设怎么做自己网站产品seo
  • 网站建设正文字体多大合适山东宏远建设有限公司网站
  • 广东住房城乡建设厅网站首页东莞微信网站商城建设
  • 网站主持人制作本机部署wordpress超慢
  • 青岛网站关键词排名优化抓取wordpress站点用户
  • 搭建网站要不要给域名对方汽车网站代码
  • 和魔鬼做交易的网站三亚做网站推广
  • 滁州商业网站建设网建天地小区
  • 网站营销合同信息公开和网站建设工作总结
  • wordpress按钮下拉菜单合肥网站优化服务网
  • 仿阿里云网站做seo要明白网站内容乃重中之重
  • 网站建设费一般摊销几年怎么做私人网站
  • 网站模糊设计做网站公司怎么找客户
  • wordpress栏目管理重庆seo公司排名
  • 游戏网站怎么建设系统之家一键重装
  • 网站做app开发工具asp网站首页模板
  • 中国建设学会查询网站网站的 联系我们怎么做
  • 做网站如何赚钱知乎做什么网站开发最简单
  • 有了域名如何建立网站WordPress 多厂商
  • 石龙镇网站仿做建设网络强国论文
  • 建设银网站iis 网站压缩