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

深圳做个商城网站设计推广app平台

深圳做个商城网站设计,推广app平台,wordpress还有什么,哈尔滨工程造价信息Java中可以使用第三方登录来简化用户登录流程,常见的第三方登录如QQ、微信、微博等。下面是一个Java封装第三方登录的工具类: 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 Map<String, 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);Map<String, Object> userInfo = new HashMap<String, 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_ID=your_app_id
app_Key=your_app_key
getUserInfoURL=https://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();
Map<String, Object> userInfo = ThirdPartyLoginUtil.getQQUserInfo(accessToken, openId);

获取到用户信息后,可以进行登录操作或跳转到注册页面进行账号绑定。

http://www.tj-hxxt.cn/news/104155.html

相关文章:

  • 营销网站解决方案电子商务主要干什么
  • 绍兴建站模板厂家广告联盟接单平台
  • b2b2c是什么意思啊嘉兴seo网络推广
  • 深圳做网站服务商营销软文范文
  • 深圳网站建设推广方法aso优化服务平台
  • 网站建设 推广找山东博达营销助手
  • 织梦网站建设案例网络营销渠道有哪些
  • 有没有通信专业业余做兼职的网站广东今天新闻最新消息
  • 西安知名的集团门户网站建设费用刷粉网站推广快点
  • wordpress 标签别名 id手机网站排名优化
  • 给自己的爱人做网站恶意点击广告软件
  • 舞蹈网站模板南京百度竞价推广公司排名
  • springboot企业网站开发网站查询网
  • 做网站什么框架方便电商平台怎么加入
  • 注册公司那家网站做的比较好全球最大的中文搜索引擎
  • dz论坛怎么做视频网站吗今日军事新闻最新消息中国
  • 公司网站找谁做百度商家版下载
  • 帝国cms调用网站地址长沙关键词优化新行情报价
  • 做的网站怎么上传到网上运行全国seo公司排名
  • 做网站背景图片怎么放友情链接的网站有哪些
  • 网站标题符号的应用桂林网站设计制作
  • 阿里云网站建设视频竞价托管的注意事项
  • 专业足球网站建设搜索引擎优化的核心本质
  • 网站建设品牌西安seo服务外包
  • 做优化需要发多少个网站引流推广接单
  • 折扣网站怎么做30个免费货源网站
  • 管理咨询公司好不好做重庆关键词优化软件
  • 温岭网站制作长沙网站seo推广
  • 做b2b企业外贸网站广告网站策划方案
  • 网站正在建设 下载电商网课