- 浏览: 1573705 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
开发平台
http://connect.qq.com/
http://open.taobao.com/
http://open.weibo.com/
可以下载相应的sdk 和 API
http://connect.qq.com/
http://open.taobao.com/
http://open.weibo.com/
可以下载相应的sdk 和 API
package com.fanbaobao.action; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Properties; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import net.sf.json.JSONObject; import com.bjdata.util.SecurityUtils; import com.fanbaobao.service.FbbUser; import com.fanbaobao.service.FbbService.Client; import com.fanbaobao.util.FbbUtil; import com.fanbaobao.util.MD5Util; import com.sun.xml.internal.fastinfoset.stax.events.Util; import com.taobao.api.internal.util.WebUtils; public class TaobaoAction extends BaseAction { private static final Logger logger = Logger.getLogger(TaobaoAction.class); private String errorMsg; public static String KEY = "xxx"; //沙箱环境key public static String SECRET = "xxxx"; public static String REDIRECT="l"; public static String AUTHORIZEURL="";//沙箱环境 public static String TOKENURL=""; //沙箱环境 public static String SAFEKEY="*(.com#$^&"; static{ try { Properties propert = new Properties(); java.io.InputStream in = TaobaoAction.class.getClassLoader().getResourceAsStream("login.properties"); propert.load(in); KEY=propert.getProperty("TAOBAO_KEY",KEY); SECRET=propert.getProperty("TAOBAO_SECRET",SECRET); REDIRECT=propert.getProperty("TAOBAO_REDIRECT",REDIRECT); AUTHORIZEURL=propert.getProperty("TAOBAO_AUTHORIZEURL",AUTHORIZEURL); TOKENURL=propert.getProperty("TAOBAO_ACCESSTOKENURL",TOKENURL); } catch(Exception e) { } } public void toLogin() throws IOException{ StringBuilder url=new StringBuilder(AUTHORIZEURL); url.append("?response_type=code") .append("&client_id=").append(KEY) .append("&redirect_uri=").append(REDIRECT) .append("&state=").append(MD5Util.MD5Encode(SECRET+SAFEKEY+KEY, null)); getResponse().sendRedirect(url.toString()); //重定向到新浪授权页面 } public String doLogin() throws Exception{ HttpServletRequest request=this.getRequest(); String code=request.getParameter("code"); String state=request.getParameter("state"); logger.info("taobao doLogin state:"+state); if(Util.isEmptyString(code)){ errorMsg="淘宝快捷登录授权失败,请重新授权!"; return LOGIN; } Map<String, String> param = new HashMap<String, String>(); param.put("grant_type", "authorization_code"); param.put("code",code); param.put("client_id",KEY); param.put("client_secret",SECRET); param.put("redirect_uri",REDIRECT); param.put("view", "web"); param.put("state",state); param.put("scope", "item"); //item,promotion,usergrade String responseJson=WebUtils.doPost(TOKENURL, param, 3000, 3000); JSONObject jo=JSONObject.fromObject(responseJson); if(jo.get("taobao_user_id")==null){ errorMsg="淘宝快捷登录验证失败!"; return LOGIN; } String user_id =jo.get("taobao_user_id").toString(); String user_name=jo.get("taobao_user_nick").toString(); HttpSession session=request.getSession(); Client client = FbbUtil.getClient(); FbbUser fbbUser= client.doOauth(3, user_id); session.setAttribute("fbbUserInfo", fbbUser); return SUCCESS; } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
package com.fanbaobao.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.fanbaobao.service.FbbUser; import com.fanbaobao.service.FbbService.Client; import com.fanbaobao.util.FbbUtil; import weibo4j.Oauth; import weibo4j.Users; import weibo4j.Weibo; import weibo4j.http.AccessToken; import weibo4j.model.User; public class SinaAction extends BaseAction { private String errorMsg; public String toLogin()throws Exception{ try { HttpServletRequest request=getRequest(); Oauth oauth=new Oauth(); getResponse().sendRedirect(oauth.authorize("code")); //重定向到新浪授权页面 } catch (Exception e) { e.printStackTrace(); } return null; } /** * 新浪微博登录的回调 * @return * @throws Exception */ public String doLogin() throws Exception{ HttpServletRequest request=getRequest(); HttpSession session=request.getSession(); String accesstoken = null; String code=request.getParameter("code"); if(code!=null) { Oauth oauth=new Oauth(); AccessToken accessToken=oauth.getAccessTokenByCode(code); accesstoken=accessToken.getAccessToken(); if(accessToken!=null) { Weibo weibo=new Weibo(); weibo.setToken(accessToken.getAccessToken()); Users users=new Users(); User weiboUser=users.showUserById(accessToken.getUid()); HttpServletResponse response=getResponse(); System.out.println(weiboUser.getId()); System.out.println(weiboUser.getGender()); System.out.println(weiboUser.getName()); System.out.println(accesstoken); // if(first<2){ // if(first==1){ //用户第一次登录,发一条微博,且follow 51bi // Timeline timeline=new Timeline(); // timeline.UpdateStatus("我注册成为了#比购网#会员,免费注册后去淘宝购物,最高有35%的现金返还。最给力的是:到拉手、京东商城、1号店等400多家知名商城不仅能享受最低价格,还能额外省钱40%。喜欢网购的童鞋都去注册一个省钱吧!官方网址:http://www.51bi.com/space/biuser/register.jsp?currentUrl=http://www.51bi.com/taobao/"); // try { // Friendships fm = new Friendships(); // fm.createFriendshipsById("1718952754");//follow 51bi // fm.createFriendshipsById("2908640880");//follow 51bi // } catch (Exception e) { // } // } //未完善资料 Client client = FbbUtil.getClient(); FbbUser fbbUser= client.doOauth(1, weiboUser.getId()); session.setAttribute("fbbUserInfo", fbbUser); return SUCCESS; } }else{ errorMsg="新浪oauth 认证请求非法!"; return LOGIN; } return SUCCESS; } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
package com.fanbaobao.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.fanbaobao.service.FbbUser; import com.fanbaobao.service.FbbService.Client; import com.fanbaobao.util.FbbUtil; import com.qq.connect.QQConnectException; import com.qq.connect.api.OpenID; import com.qq.connect.api.qzone.PageFans; import com.qq.connect.api.qzone.UserInfo; import com.qq.connect.javabeans.AccessToken; import com.qq.connect.javabeans.qzone.PageFansBean; import com.qq.connect.javabeans.qzone.UserInfoBean; import com.qq.connect.oauth.Oauth; public class QzoneAction extends BaseAction { private String errorMsg; public String toLogin()throws Exception{ this.getResponse().setContentType("text/html;charset=utf-8"); try { this.getResponse().sendRedirect(new Oauth().getAuthorizeURL(this.getRequest())); } catch (QQConnectException e) { e.printStackTrace(); } return null; } public String doLogin()throws Exception{ HttpServletResponse response=this.getResponse(); HttpServletRequest request=this.getRequest(); HttpSession session=request.getSession(); response.setContentType("text/html; charset=utf-8"); try { AccessToken accessTokenObj = (new Oauth()).getAccessTokenByRequest(request); String accessToken = null, openID = null; Long tokenExpireIn = null; if (accessTokenObj.getAccessToken().equals("")) { errorMsg="QQ登录校验失败!"; return LOGIN; } else { accessToken = accessTokenObj.getAccessToken(); tokenExpireIn = accessTokenObj.getExpireIn(); request.getSession().setAttribute("demo_access_token", accessToken); request.getSession().setAttribute("demo_token_expirein", String.valueOf(tokenExpireIn)); OpenID openIDObj = new OpenID(accessToken); openID = openIDObj.getUserOpenID(); request.getSession().setAttribute("demo_openid", openID); UserInfo qzoneUserInfo = new UserInfo(accessToken, openID); UserInfoBean userInfoBean = qzoneUserInfo.getUserInfo(); // PageFans pageFansObj = new PageFans(accessToken, openID); PageFansBean pageFansBean = pageFansObj.checkPageFans("97700000"); com.qq.connect.api.weibo.UserInfo weiboUserInfo = new com.qq.connect.api.weibo.UserInfo(accessToken, openID); com.qq.connect.javabeans.weibo.UserInfoBean weiboUserInfoBean = weiboUserInfo.getUserInfo(); // 第三方处理用户绑定逻辑 String user_id=openID; String nickname=new String(userInfoBean.getNickname()); System.out.println(user_id); System.out.println(nickname); Client client = FbbUtil.getClient(); FbbUser fbbUser= client.doOauth(2, user_id); session.setAttribute("fbbUserInfo", fbbUser); return SUCCESS; // session.setAttribute("oauth_token", oauth_token); // session.setAttribute("oauth_token_secret", oauth_token_secret); // InterUser interUser=new InterUser(Constants.LOGIN_FROM_QQ,user_id,null,nickname); // interUser.setBiUserService(biUserService); // interUser.setRuledao(ruledao); // interUser.setAccesstoken(accessToken); // if (tokenExpireIn!=null) { // interUser.setExpireIn(String.valueOf(tokenExpireIn)); // } // session.setAttribute("uid", user_id); // session.setAttribute("fromsite", Constants.LOGIN_FROM_QQ); // int first=interUser.doUserLogin(request,response,false); //接口登录 // if(first<2){ // session.setAttribute("loginname",nickname); // if (first==-1) { // session.setAttribute("msg","save userBind error"); // }else if (first==-2) { // session.setAttribute("msg","error"); // } // return "qzone"; // } } } catch (QQConnectException e) { e.printStackTrace(); return LOGIN; } } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } }
//login.properties ############ #t.sina login ########### client_ID =xx client_SERCRET =xx redirect_URI =xxx baseURL=https://api.weibo.com/2/ accessTokenURL=https://api.weibo.com/oauth2/access_token authorizeURL=https://api.weibo.com/oauth2/authorize ############ #taoBao login ########### #TAOBAO_KEY=xxxx #TAOBAO_SECRET=xxxxxx #TAOBAO_REDIRECT=xxxx #authorizeURL=https://oauth.taobao.com/authorize #accessTokenURL=https://oauth.taobao.com/token //qqconnectconfig.properties app_ID = x app_KEY = xx redirect_URI = xxx scope = get_user_info,add_topic,add_one_blog,add_album,upload_pic,list_album,add_share,check_page_fans,add_t,add_pic_t,del_t,get_repost_list,get_info,get_other_info,get_fanslist,get_idollist,add_idol,del_ido,get_tenpay_addr baseURL = https://graph.qq.com/ getUserInfoURL = https://graph.qq.com/user/get_user_info accessTokenURL = https://graph.qq.com/oauth2.0/token authorizeURL = https://graph.qq.com/oauth2.0/authorize getOpenIDURL = https://graph.qq.com/oauth2.0/me addTopicURL = https://graph.qq.com/shuoshuo/add_topic addBlogURL = https://graph.qq.com/blog/add_one_blog addAlbumURL = https://graph.qq.com/photo/add_album uploadPicURL = https://graph.qq.com/photo/upload_pic listAlbumURL = https://graph.qq.com/photo/list_album addShareURL = https://graph.qq.com/share/add_share checkPageFansURL = https://graph.qq.com/user/check_page_fans addTURL = https://graph.qq.com/t/add_t addPicTURL = https://graph.qq.com/t/add_pic_t delTURL = https://graph.qq.com/t/del_t getWeiboUserInfoURL = https://graph.qq.com/user/get_info getWeiboOtherUserInfoURL = https://graph.qq.com/user/get_other_info getFansListURL = https://graph.qq.com/relation/get_fanslist getIdolsListURL = https://graph.qq.com/relation/get_idollist addIdolURL = https://graph.qq.com/relation/add_idol delIdolURL = https://graph.qq.com/relation/del_idol getTenpayAddrURL = https://graph.qq.com/cft_info/get_tenpay_addr getRepostListURL = https://graph.qq.com/t/get_repost_list version = 2.0.0.0
评论
2 楼
vmvmvm80
2015-10-23
大神能把全套代码发来不,最近要开发这个,又是新手一枚.参考官方的东西不懂怎么结合到自己的系统 443915350@163.com
1 楼
yl23250
2014-02-21
大神,你能把全套发我么,主要是你那baseAction 谢谢拉 977628413@qq.com
相关推荐
网站的 QQ联合登录 实例, 2012年最新技术,是网站验证身份的新形式。由腾讯便于2012.2月 正式推出,于7月左右变得列为稳定,期间,我与腾讯相关技术人员进行过多次沟通,助其发现最后一批BUG(有QQ聊天记录为证)。 ...
android微信登录,QQ登录,新浪登录,微信分享,QQ分享,新浪分享代码Demo。
QQ登录支付宝登录新浪微博快速登录ecshop插件 1、支持QQ登录, 2、新浪微博登录 3、支付宝登录 4、后台可设置管理以及支持后台管理用户分派权限 5、正常显示用户名,自动保留用户资料。 6、插件无需修改数据库...
新浪微博整合登录插件|QQ登录|人人网 UTF GBK双编码
qq联合登录
python QQ联合登录接口 还可以用
EXshop支付宝 淘宝 新浪 QQ 快捷登陆插件
ECMALL QQ支付宝 新浪 快捷登录 ECMALL QQ支付宝 新浪 快捷登录
1.该程序整合了QQ登录和新浪微博登录功能,后续会不断完善和增加其他登录方式。 2.该功能是从网钛文章管理系统(OTCMS)中剥离出来的。 版权声明: 1.网钛文章管理系统(OTCMS)QQ登录API接口修改于: 一曲小诗...
Asp.Net QQ开放平台登录代码,新浪微博开放平台登录代码,OAuth2,腾讯QQ授权登录,新浪微博授权登录,完全源代码,无任何外部dll支持,简单易懂,适合学习及开发应用!
腾讯QQ、新浪微博一键登录源码,很不错的源码,可以实现一键登录
新浪微博和QQAndroid端和Flash端源码及ANE打包构建,含有ANE使用说明文档
.net、asp.net使用qq登录,新浪微博,网易微博登录
●如使用QQ登录,请修改deal.asp文件第31、32行APP ID、APP KEY值改成自己的,以...1.该程序整合了QQ登录和新浪微博登录功能,后续会不断完善和增加其他登录方式。 2.该功能是从网钛文章管理系统(OTCMS)中剥离出来的。
THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等) 使用方式: 1、使用命名空间 use Org\ThinkSDK\ThinkOauth; 2、设置三方登录的类别并赋予一个变量 $...
腾讯QQ、新浪微博一键登录源码 源码描述: 系统已经实现了腾讯QQ、新浪微博网站一键登录功能。 简单完整的Demo。
集成QQ登录、淘宝登录、百度登录、腾讯微博登录、新浪微博登录五种社区化登录模式类。 使用工厂模式设计,可以无限扩充其他社区化登录方式。(PHP代码)
腾讯QQ和淘宝旺旺在线客服代码
这是一个集成QQ、新浪登录的插件,在Joomla 2.5.6运行通过。在运行之前,你要先去申请QQ和新浪的appid和appkey,然后按照readme进行简单的配置。
php+QQ、微信、新浪微博登录操作类及回调操作