oauth_test

方式1:基于浏览器 (访问时后跳到登录页面,登录成功后跳转到redirect_uri指定的地址) [GET]
说明:只能使用admin或unity 账号登录才能有权限访问,若使用mobile账号登录将返回Access is denied
http://localhost:8080/spring-oauth-server/oauth/authorize?client_id=unity-client&redirect_uri=http%3a%2f%2flocalhost%3a8080%2fspring-oauth-server%2funity%2fdashboard.htm&response_type=code&scope=read

说明: 由于mobile-client只支持password,refresh_token, 所以不管用哪个账号登录后都将返回Illegal action
http://localhost:8080/spring-oauth-server/oauth/authorize?client_id=mobile-client&redirect_uri=http%3a%2f%2flocalhost%3a8080%2fspring-oauth-server%2fm%2fdashboard.htm&response_type=code&scope=read

响应的URL如:
http://localhost:8080/spring-oauth-server/unity/dashboard.htm?code=zLl170

通过code换取access_token [GET]
http://localhost:8080/spring-oauth-server/oauth/token?client_id=unity-client&client_secret=unity&grant_type=authorization_code&code=zLl170&redirect_uri=http%3a%2f%2flocalhost%3a8080%2fspring-oauth-server%2funity%2fdashboard.htm

方式2:基于客户端 (注意参数中的username,password,对应用户的账号,密码) [GET]
http://localhost:8080/spring-oauth-server/oauth/token?client_id=mobile-client&client_secret=mobile&grant_type=password&scope=read,write&username=mobile&password=mobile

说明:由于unity-client不支持password,所以若用unity-client通过password方式去授权,将返回invalid_grant
http://localhost:8080/spring-oauth-server/oauth/token?client_id=unity-client&client_secret=unity&grant_type=password&scope=read,write&username=mobile&password=mobile

获取access_token响应的数据如:
{“access_token”:”3420d0e0-ed77-45e1-8370-2b55af0a62e8″,”token_type”:”bearer”,”refresh_token”:”b36f4978-a172-4aa8-af89-60f58abe3ba1″,”expires_in”:43199,”scope”:”read write”}

获取access_token后访问资源 [GET]
http://localhost:8080/spring-oauth-server/unity/dashboard.htm?access_token=3420d0e0-ed77-45e1-8370-2b55af0a62e8

刷新access_token [GET]
http://localhost:8080/spring-oauth-server/oauth/token?client_id=mobile-client&client_secret=mobile&grant_type=refresh_token&refresh_token=b36f4978-a172-4aa8-af89-60f58abe3ba1

更多的测试请访问
http://git.oschina.net/mkk/spring-oauth-client

————————————————————————————————
grant_type(授权方式)
1.authorization_code 授权码模式(即先登录获取code,再获取token)
2.password 密码模式(将用户名,密码传过去,直接获取token)
3.refresh_token 刷新token
4.implicit 简化模式(在redirect_uri 的Hash传递token; Auth客户端运行在浏览器中,如JS,Flash)
5.client_credentials 客户端模式(无用户,用户向客户端注册,然后客户端以自己的名义向’服务端’获取资源)

scope
1.read
2.write
3.trust

————————————————————————————————

Resource API
Use it get resource-server resources after auth successful. will use it in project.
(retrieve current logged user information)

[ROLE_UNITY]
http://localhost:8080/spring-oauth-server/unity/user_info?access_token=b03b99a1-f128-4d6e-b9d3-38a0ebcab5ef
Response JSON
{“archived”:false,”email”:”unity@wdcy.cc”,”guid”:”55b713df1c6f423e842ad68668523c49″,”phone”:””,”privileges”:[“UNITY”],”username”:”unity”}

[ROLE_MOBILE]
http://localhost:8080/spring-oauth-server/m/user_info?access_token=20837fa5-a0a1-4c76-9083-1f0e47ca0208
Response JSON
{“archived”:false,”email”:”mobile@wdcy.cc”,”guid”:”612025cb3f964a64a48bbdf77e53c2c1″,”phone”:””,”privileges”:[“MOBILE”],”username”:”mobile”}

下载: oauth_test.txt

面向期望(Oriented expectations)

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

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

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

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

陌生人

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

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

那时,李子树上吃够了,才给爷爷奶奶摘一些李子带回去,
现在想想那时爷爷奶奶都老了,不能爬树–十岁之前的故事
也渐渐在长大中明白了老人们的心,我也将慢慢老去,留下
的都是记忆–大脑的事,和现实无关
大屋基在我第一次有记忆的时候说是如此的,没变化,那里的好与坏只和那些人有关,与名称无关,与土地无关
奶奶的思想还停留在一亩三分地上,直到最后一天晚上他对
着爸爸说,儿啊,我可能熬不过今天晚上了–都是有预感到
了的,身体与灵魂的交换
他们都走了。
一个鸡蛋就外面敲开就是食物,而从里面孵化则是生命,生
命从何而来,还是温度和空气
有一天我坐在川大的一个球场看台上问旁边一个准备踢球的
人,你毕业多久了,他说一年多了,不是川大的。我也说毕
业一年多了–那些日子还在乎与学生相关的信息,2010年。
现在,再也不会提及。
写于2014-08-23 0:45

杂想-1

bgc

那时,李子树上吃够了,才给爷爷奶奶摘一些李子带回去,
现在想想那时爷爷奶奶都老了,不能爬树–十岁之前的故事
也渐渐在长大中明白了老人们的心,我也将慢慢老去,留下
的都是记忆–大脑的事,和现实无关大屋基在我第一次有记忆的时候说是如此的,没变化,那里
的好与坏只和那些人有关,与名称无关,与土地无关
奶奶的思想还停留在一亩三分地上,直到最后一天晚上他对
着爸爸说,儿啊,我可能熬不过今天晚上了–都是有预感到
了的,身体与灵魂的交换
他们都走了。一个鸡蛋就外面敲开就是食物,而从里面孵化则是生命,生
命从何而来,还是温度和空气
有一天我坐在川大的一个球场看台上问旁边一个准备踢球的
人,你毕业多久了,他说一年多了,不是川大的。我也说毕
业一年多了–那些日子还在乎与学生相关的信息,2010年。
现在,再也不会提及。写于2014-08-23 0:45