原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398
根据下载的pdf学习。
开涛shiro教程-第十七章-OAuth2集成
3.客户端
客户端流程可以参照如很多网站的新浪微博登录功能,或其他的第三方帐号登录功能。
1 客户端进行登录操作 2 跳到oauth2服务端,进行登录授权。成功后,服务端返回auth code。 3 客户端使用auth code去服务器换取access token。 4 客户端根据access token得到用户信息,进行客户端的登录绑定。
(1)POM依赖
此处我们使用 apache oltu oauth2 客户端实现。
1 <dependency> 2 <groupId>org.apache.oltu.oauth2</groupId> 3 <artifactId>org.apache.oltu.oauth2.client</artifactId> 4 <version>0.31</version> 5 </dependency>
附完整pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <parent> 4 <artifactId>shiro-example</artifactId> 5 <groupId>com.github.zhangkaitao</groupId> 6 <version>1.0-SNAPSHOT</version> 7 </parent> 8 <modelVersion>4.0.0</modelVersion> 9 <artifactId>shiro-example-chapter17-client</artifactId> 10 <packaging>war</packaging> 11 <name>shiro-example-chapter17-client</name> 12 <url>http://maven.apache.org</url> 13 <dependencies> 14 <dependency> 15 <groupId>junit</groupId> 16 <artifactId>junit</artifactId> 17 <version>3.8.1</version> 18 <scope>test</scope> 19 </dependency> 20 21 <dependency> 22 <groupId>commons-collections</groupId> 23 <artifactId>commons-collections</artifactId> 24 <version>3.2.1</version> 25 </dependency> 26 27 28 <dependency> 29 <groupId>org.apache.oltu.oauth2</groupId> 30 <artifactId>org.apache.oltu.oauth2.client</artifactId> 31 <version>0.31</version> 32 </dependency> 33 34 35 <dependency> 36 <groupId>javax.servlet</groupId> 37 <artifactId>javax.servlet-api</artifactId> 38 <version>3.0.1</version> 39 <scope>provided</scope> 40 </dependency> 41 <dependency> 42 <groupId>javax.servlet.jsp</groupId> 43 <artifactId>jsp-api</artifactId> 44 <version>2.2</version> 45 </dependency> 46 <dependency> 47 <groupId>javax.servlet</groupId> 48 <artifactId>jstl</artifactId> 49 <version>1.2</version> 50 </dependency> 51 52 53 <dependency> 54 <groupId>org.apache.shiro</groupId> 55 <artifactId>shiro-core</artifactId> 56 <version>1.2.2</version> 57 </dependency> 58 <dependency> 59 <groupId>org.apache.shiro</groupId> 60 <artifactId>shiro-ehcache</artifactId> 61 <version>1.2.2</version> 62 </dependency> 63 <dependency> 64 <groupId>org.apache.shiro</groupId> 65 <artifactId>shiro-web</artifactId> 66 <version>1.2.2</version> 67 </dependency> 68 <dependency> 69 <groupId>org.apache.shiro</groupId> 70 <artifactId>shiro-quartz</artifactId> 71 <version>1.2.2</version> 72 </dependency> 73 <dependency> 74 <groupId>org.apache.shiro</groupId> 75 <artifactId>shiro-spring</artifactId> 76 <version>1.2.2</version> 77 </dependency> 78 79 80 <dependency> 81 <groupId>mysql</groupId> 82 <artifactId>mysql-connector-java</artifactId> 83 <version>5.1.25</version> 84 </dependency> 85 <dependency> 86