专利:2016102613273 单点登录技术中的主令牌获取方法、单点登录方法及系统

技术专利:2016102613273 单点登录技术中的主令牌获取方法、单点登录方法及系统。

摘要 本发明提供的单点登录技术中的主令牌获取方法,涉及互联网领域,该方法通过手机端首先要通过识别码下发服务器的验证来换取识别码,之后在期望获取主令牌的时候,使用手机端将该识别码发送给令牌颁发服务器,之后令牌颁发服务器将该识别码提供给识别码下发服务器进行验证,只有该次验证通过后,令牌颁发服务器才会将对应的主令牌提供给手机端,这样,即使外部设备知悉了账户和密码,由于外部设备无法通过识别码下发服务器的验证,导致其依旧无法获取主令牌,保证了主令牌下发的安全性,也就保证了单点登录整体的安全性。

http://epub.cnipa.gov.cn/certifdesc.action?strWhere=CN105959267B

OIDC–基于OAuth2的下一代身份认证授权协议

OIDC(OpenID Connect), 下一代的身份认证授权协议; 当前发布版本1.0;

OIDC是基于OAuth2+OpenID整合的新的认证授权协议; OAuth2是一个授权(authorization)的开放协议, 在全世界得到广泛使用, 但在实际使用中,OAuth2只解决了授权问题, 没有实现认证部分,往往需要添加额外的API来实现认证; 而OpenID呢,是一个认证(authentication )的协议, 二者在实际使用过程中都有其局限性;

综合二者,即是OIDC; 通过OIDC,既能有OAUTH2的功能,也有OpenID的功能; 恰到好处…

OIDC将是替换(或升级)OAuth2, OpenID的不二选择..

OIDC在OAuth2的access_token的基础上增加了身份认证信息; 通过公钥私钥配合校验获取身份等其他信息—– 即idToken;

一个使用JWT生成的idToken(base64):

eyJhbGciOiJSUzI1NiIsImtpZCI6IjM3MTc2NjA0OTExODEyNzkwNzgifQ.eyJpc3MiOiIxMTExIiwiYXVkIjoiMTExMSIsImF0X2hhc2giOiI4ZjgxYThjOS1jNWJiLTQwOWMtYjI0Ni1lMzEyZmUwYzM4NWMiLCJyZWdpc3RyYXRpb24iOiIxMjM0NTY3OCIsImV4cCI6MTQ2MzYyMjA4NiwianRpIjoiRnl5aGZOYnQtU0NLR2tpTWRGMVg2dyIsImlhdCI6MTQ2MzU3ODg4NiwibmJmIjoxNDYzNTc4ODI2LCJzdWIiOiJsc3otb2lkYyJ9.hDCcs8PISdwUPp6Eyd-9JCeeTJ2ZtscBeuPITIt43gMYbddiUBLC90uT9bxKe6e3awHels3asEMreFtlnlY09PwdCxXvhjYcEiXO_dnzqu-zQXESHzPEE6d1WsZUcbj6yxoxMh0laba24uu3CbqSRQbOrsYmh2_XA5Q5eP66iOajRUDhNXhmsWEL85jtL9_h0SyfRNPZ9C0mRu2x9YZTHT129O53ggqtjwQxrXLAbCd1dd35DyIztagqQWDpo3gFG7YseNEiQ6Mf2D6nIBU9llAqH4sTThq_ahME06qKENat_sxnmIJN2UHw7u0E08S-59oxtOY9winT78Qj5IfWJw

 

在OIDC协议的实现中, 其底层是基于OAuth2. 一些常用的库如: JWT(https://jwt.io/), JWS; OAuth2的实现如: Spring Security OAuth, OLTU.

更多信息可参考: http://openid.net/connect/

OIDC 1.0协议: http://openid.net/specs/openid-connect-core-1_0.html

拥抱OIDC…

openid-r-logo-900x360

Three

Three是三,也就是三个人,刘chuenye,王bo与李shengzhao。
刘是大,生于1985年,面较黑,体较肥;王次之,是上大学最好的一个;李最小,后两位于1986年和世界见面的,高中之前的世界里,他们已存在,各自活在自己的天空下。
一切都是从高中--叙永一中的校园里开始的。

2002年的9月,我们的高中开始…
no1_middle

提着行礼,奔赴各自的宿舍,李是553,刘是223吧,王的不清楚了。刘与王是幸运的,高一在六班,李在二班,“你的表情看起来总是一副被人欺负的样子”刘说的。故事源于足球。

刘与李都是喜欢足球的,有周六下午或有天日的下午都去足球场踢球的。刘与李就是这样认识的:经常在一起踢球,次数多了也就彼此开始打招呼,李在饭堂里也是经常看见刘的,他俩在不相识的情况下彼此借钱了。
那天(具体时间去问问历史)刘在饭堂借了李十元钱,李看了看他,有点熟悉,借了,没问别的,打饭吃去了。还是某一天,李去打饭时向别人借钱没借到,刘看见了走上来说,我借你十元钱。李忘了曾借给刘的十元钱,也就接了,还说会还的。这种事我在一中是碰到过的,我有一次买面时一个头从后面伸出来说,把两毛的饭票给我,我差两毛呢,说着就拿,而我则没有反应,那人我不认识,我还没回过神来呢。
这个借十元钱的事就这样结束了,可生活就是一些故事的集合。

刘在二楼向上叫五楼的那个,下来踢球啊,李就会在楼上应一声的,有时李也去叫刘,但很少,因为刘在二楼的宿舍是李下楼必须经过的。李比较内向的,有时刘问李有没有球,李有的时候就会借给刘的,如此过了很久…都和足球有关。
刘的球踢的不错,传球很到位,7号的球衣,自称:贝克汉姆,可大家的叫法是:刘克汉姆。他是个球材--踢球的人才。李是被人发觉当后卫而可以出点人气的,李的第一场正式比赛位置右后卫,后来踢完的评价是:还不错,可还不完全放开,想想和内向的性格有关的。

2008年的1月9日,李在西安的宿舍里写着Three的故事,而王,刘在另外的两个城市,他们可不知李在写他们的故事的…

wbo2

关于王
王,王bo,全名也叫王bo。昨晚给李打电话(时长:15分15秒),原因是李走过了21个春夏秋冬了。李经常给王打电话,信息的交流也是不少的。
王和李是在高二的时候才开始的。可不用说他们的见面就知道后来有很长的故事。刘说:李比王聪明,可王比李勤奋,努力。结果是明显的:王去了一本,李去了二本,而刘呢?暂且不说了。
王的身高和他在Three中的位置一样,王爱学习,说话和做事是很成熟的。在李看来,王,刘还有别的人在校园后面租一间房,李是经常去光顾浏览那儿的,有时就留宿那儿了。
高二,分了文理班,王,5班,刘,9班,理科班,李,4班,文科班;那幢教学楼的三楼有李,二楼有王,一楼有刘。
王就是爱学习,李与刘去踢球王是不去的,也很少见他在篮球场上跳跃,可后来真看了王打球才知道,他是真人不露相啊,我们就在旁边看。
嗯,王的身体是不太好的,经常与药物联系不断,脸也经常有些异物光顾。刘还说他小时候断过脚,所以老是跑得不是很快,李的小时候是爱爬树的,放牛的日子也不少。

聚会
三个人走到了一起。
刘,王,李三人去了叙永中环路的一家馆子,是一家“人人猪蹄子火锅”的店,这个名字很有印象的。刘还不忘告诉李回去告诉她我们今天吃猪蹄子。我们一边吃,一边喝,一边说。因为这聚会之后我们就是三个兄弟了。
刘说:李有什么就要说出来哦,不然以后就没机会说了哦,李是笑一笑,反正刘是说话最多喽,不仅他占大,他太会也太爱说话了。
我们没有对天发誓,没有跪拜天地,也没有说什么不求同年同月同日生,但求同年同月同日死等等话,可那之后,兄弟就是了,兄弟是一辈子的。过去是,现在是,将来是。
记得李给他的同桌zhu说:我和刘,还有王是结拜的弟兄了,zhu也是笑笑说:我小时候也干过这种事,可都是小孩子,不会认真的,大家说说罢了。但李认识的:我们不是玩玩的。也许那是一切很单纯,可因为单纯才显得真实,尽管那时的刘看起来说起话来真是油嘴滑舌呢。记得刘在进大学不久后对李说过:高中有那么多认识的人,
那么多朋友,可到最后才知道--我们三个是最真的。平平淡淡,真真实实。
聚会时一定要吃好,那天我们确实吃得不少,是连最后的汤也喝得不少吧。
那天我们成了兄弟,没有一丝的刻意,记不清那天的具体日期,具体地点了。

three

后续
记得他们三个曾经唯一一次共同坐班车,从摩尼到到叙永,也就是从王的家里出发的吧。具体的时间已不清楚,大约是高三毕业那段时间,只记得坐在车里的时候外面的光线很好,照得车内很亮…

面向期望(Oriented expectations)

走过或者正在走在OOP思想中,我们一直坚信的JAVA实现.

面向期望, 我们不再想什么做什么;想如何做好就如何做;想给客户解释为什么这样做,而不是按照客户想要的去做;不再把技术的难度欺压在用户的期望上;而是: 用户所期望的就是我们想要的; 用户如何使用好使我们就如何去做; 只做他所需,不做己所求.

站在用户的角度,实际地去想你就是一个普通的用户,我就是这应用中的一个角色,当我打开页面时,我期望的页面是什么样的,有哪些内容是我所关心的,我如何操作最方便,最能达到我所想要完成的事情或操作;不再是我想它应该是这样的, 而应该是: 我就是用户, 我就期望它是这样的,不是那样的. 让操作舒服,让用户喜欢,让流程清晰,让目的明确,让他们所认可, 这就是目的.

我们站在技术角度的思想,完全不是一个用户所想的,转变角色,我们这里不谈实现,不谈if-else,不谈代码风格. 要做的,只是闭上双眼,想像你就是用户,打开浏览器(或其他UI界面),想我想的页面应该是什么样的,我所期望的注册是什么样的,信息浏览是什么样的,要登录是什么样的,当需要帮助时是如何提示的; 甚至就去听听那些完全不懂技术的朋友,用户或者一个街边陌生人所想要的(面对从任意1000人中抓出来也不足一两个懂技术的人群,那998或999人的意见是更重要的,也更值得聆听的).

陌生人

清晨,醒来,没有蚊子咬,很舒服。打开电话联络世界,睁开眼睛,
看着熟悉 的环境。躺在床上,动来动去,电扇在转,可我们一点风
都感觉不到,可电扇 依旧转,它得转是在给我们以精神上的凉爽,
而我们能享受的是听和看它的形 态,除此,啥也没。

这个世界的通病之一是不管走到那儿都有很多很多的人,很多很多的陌生人,
所谓陌生人,就是一群莫(陌)名其妙地增加的人。只身来到一个地方,
都是 人群,不一样的面孔,同一样的肤色,异样的表情,各类的心情,
无一熟悉的 面孔,唯一熟悉的是我的眼睛看见的我自己的那部分。
没有亲人,朋友,所以 陌生人到处生存。