调用子系统ucenter的例子

来源:互联网 发布:喜马拉雅mac版本下载 编辑:程序博客网 时间:2024/05/20 06:24
1、从子系统发起请求
eg:http://localhost:8081/ucenter/authorize.do
?sign=91a29017ddc2d5a17cd935e92d9bb52d
&token=62c89fbc42fec023622ff6b88b425bf
&callback=http%3A%2F%2Flocalhost%3A8080%2Foa%2FauthorizeCallback.do
&random=0f9917cf084ee1e246fb926406e93510

各参数不能为空

token对应ucenter的app中的token,生成以后即固定
callback为回调地址
random为随机数,可以随便生成
sign算法:1、凑出字符串callback=值&random=值&token=值&secret
其中值分别对应上面传出的值,secret为ucenter对应app的secret,然后md5小写32位得到sign值


2、ucenter会验证以上4个参数,其中sign算法需一致,如不一致则报“授权签名错误!”异常。如果验证通过则进入ucenter中的登录页面,输入用户名、密码、验证码。

3、验证通过后此时  ucenter会发起一个url,包括5个参数,具体为
token   同上,还是那个值
uid     user的id
ticket  一个新的随机数
random  一个新的随机数
sign  以上4个key正序排列后key=value用&连接,最后加一个&secret,和上面那个计算方式是一致的。

4、子系统用同样的方式验证成功后可获取uid和ticket,然后又发起一个请求
http://localhost:8081/ucenter/verify.do
token   同上,还是那个值
uid     user的id,传过来的
ticket  传过来的ticket
random  一个新的随机数
sign  以上4个key正序排列后key=value用&连接,最后加一个&secret,和上面那个计算方式是一致的。

5、ucenter验证成功后返回ucenter的user信息。但是这里面没有是否是管理员的选项。oa里的做法是就先把这用户加到oa的表里面,然后再去分配oa的角色,等于只要授权后的用户登录一次以后即可在子系统存入user,不过得手动分配具体的角色。
0 0
原创粉丝点击