‘单点登录’ 分类下的所有文章

单点登录相关知识分享

2013五月10

网站集成QQ、新浪微博接口

第三方接口集成时需要注意事项

1、当第三方(QQ或sina)API重定向到我们的系统的时候,我们都可以根据它(第三方,以下也称它)返回的code得到它的用户的信息。
2、如果是QQ第三方返回的信息,那么我们为了防止用户使用QQ二次登陆的时候,拿不到上一次的信息的情况,通常性我们会在第一次登陆的时候向我们的表里面放入用户的信息。QQ存入库里的时候,建议使用openID 作为 您系统中用户表的主键,因为用户的openid是唯一的,且直接与QQ关联的,所以建议使用openid来作为主键。而name则可以作为我们数据库里的另一个字段存入库。
3、如果是sina第三方返回的信息,那么我们为了防止用户使用新浪二次登陆的时候,拿不到上一次的信息的情况,通常性我们会在第一次登陆的时候向我们的表里面放入用户的信息。用户信息存入库里的时候,建议使用uid 作为 您系统中用户表的主键,因为用户的uid是唯一的,且直接与sina关联的,所以建议使用uid来作为主键。而nickname(注:昵称)则可以作为我们数据库里的另一个字段存入库。

第三方登录接口集成

QQ登录集成可参考:网站如何集成QQ登录
新浪微博登录可参考:网站如何集成新浪微博登录

2013五月10

网站如何集成QQ登录

申请Appkey与Appid

在QQ的 开发平台 申请Appkey与Appid,但是申请的前提是需要域名,把拿到的appkey与appid记录下来以便后面使用。

下载Java sdk包

到技术支持中心下载Java sdk包,不要自己用httpclient去调用QQ的接口,那样不安全,可能会被别人攻击网站,下载好的sdk里会有一个demo,把demo里的lib下的依赖包放到工程lib下,然后把那几个.property文件放到src下面,并把qqconnectconfig.properties文件里的前三项改成你自己的appkey,appid,和redirect_URI(QQ同意授权后,跳回到您的系统里的哪个路径)

Read more…

2013五月9

网站如何集成新浪微博登录

申请Appkey与Appid

在新浪的 开发平台 下的网站接入申请Appkey与Appid,申请的前提是需要有域名,把申请到的appkey与appid记录下来,以便使用。
注意事项:在点击网站接入并填好接入的信息后,在管理中心会出现您接入的网站。点击进入您的网站接入的详细信息页,在左边的导航栏里会有一个应用信息栏目,点击展开,点击“高级信息”项目
OAuth2.0授权设置
红包箭头所指的项目请与您在系统中config.properties文件里的redirect_URI保持一致,如果不一致,会出现第三方授权错误,并且在调用系统的时候,会拿不到用户信息。

Read more…

2012八月15

Atomikos分布式事务不受控制的可能原因

分类:单点登录,解决方案 | 标签:, , , | 浏览:1,010 2 Comments

写作背景

最近一段时间一直在研究sso(基于cas),在马上接近尾声的时候集成又出现了问题,也许上天感觉这个程序员需要打击(积极的说法就是成长),言归正传:这次问题还是出现在事务不受控制!也许朋友会问,事务控制问题在这个配置横行的时代,可以说是妇孺皆知,何须再谈!那先让我叙述完今天我经历的悲剧,再议。

实现背景

完成单点登录的注册功能,涉及多个子系统(Mysql作为数据库),需要进行多个数据源进行操作,其中一个就是discuz 2.5论坛。

Read more…

2012八月13

cas整合Atomikos分布式事务源码示例

分类:单点登录,解决方案 | 标签:, , | 浏览:234 2 Comments

背景

最近专注sso的研究,其中涉及到多个应用之间的数据同步问题,现阶段采用数据库方式进行融合(也就是分布式事务),也许是心理阴影(两年前使用过但是不是特别文档)使然,放弃了JOTM 这种方案,在google一下并且对比了一下,最后采用Atomikos ,理由如下:
1、兼容标准的SUN公司JTA API
2、嵌套事务
3、为XA和非XA提供内置的JDBC适配器
4、内置的JMS适配器XA-capable JMS队列连接器
5、通过XA API兼容第三方适配器
6、更好的整合您的项目(spring集成方式相当简洁)
7、集成Hibernate

Read more…