spring oath reddit
This commit is contained in:
		
							parent
							
								
									8a15a50227
								
							
						
					
					
						commit
						64a91eff4c
					
				
							
								
								
									
										29
									
								
								spring-oauth/.classpath
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								spring-oauth/.classpath
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <classpath> | ||||||
|  | 	<classpathentry kind="src" output="target/classes" path="src/main/java"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="optional" value="true"/> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry including="**/*.java" kind="src" path="src/main/resources"/> | ||||||
|  | 	<classpathentry kind="src" output="target/test-classes" path="src/test/java"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="optional" value="true"/> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/> | ||||||
|  | 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> | ||||||
|  | 		<attributes> | ||||||
|  | 			<attribute name="maven.pomderived" value="true"/> | ||||||
|  | 			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> | ||||||
|  | 		</attributes> | ||||||
|  | 	</classpathentry> | ||||||
|  | 	<classpathentry kind="output" path="target/classes"/> | ||||||
|  | </classpath> | ||||||
							
								
								
									
										47
									
								
								spring-oauth/.project
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								spring-oauth/.project
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <projectDescription> | ||||||
|  | 	<name>spring-oauth</name> | ||||||
|  | 	<comment></comment> | ||||||
|  | 	<projects> | ||||||
|  | 	</projects> | ||||||
|  | 	<buildSpec> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.jdt.core.javabuilder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.wst.common.project.facet.core.builder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.springframework.ide.eclipse.core.springbuilder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.wst.validation.validationbuilder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 		<buildCommand> | ||||||
|  | 			<name>org.eclipse.m2e.core.maven2Builder</name> | ||||||
|  | 			<arguments> | ||||||
|  | 			</arguments> | ||||||
|  | 		</buildCommand> | ||||||
|  | 	</buildSpec> | ||||||
|  | 	<natures> | ||||||
|  | 		<nature>org.springframework.ide.eclipse.core.springnature</nature> | ||||||
|  | 		<nature>org.eclipse.jdt.core.javanature</nature> | ||||||
|  | 		<nature>org.eclipse.m2e.core.maven2Nature</nature> | ||||||
|  | 		<nature>org.eclipse.wst.common.project.facet.core.nature</nature> | ||||||
|  | 		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> | ||||||
|  | 		<nature>org.eclipse.wst.jsdt.core.jsNature</nature> | ||||||
|  | 	</natures> | ||||||
|  | </projectDescription> | ||||||
							
								
								
									
										15
									
								
								spring-oauth/.springBeans
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								spring-oauth/.springBeans
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <beansProjectDescription> | ||||||
|  | 	<version>1</version> | ||||||
|  | 	<pluginVersion><![CDATA[3.6.3.201411271034-RELEASE]]></pluginVersion> | ||||||
|  | 	<configSuffixes> | ||||||
|  | 		<configSuffix><![CDATA[xml]]></configSuffix> | ||||||
|  | 	</configSuffixes> | ||||||
|  | 	<enableImports><![CDATA[true]]></enableImports> | ||||||
|  | 	<configs> | ||||||
|  | 	</configs> | ||||||
|  | 	<autoconfigs> | ||||||
|  | 	</autoconfigs> | ||||||
|  | 	<configSets> | ||||||
|  | 	</configSets> | ||||||
|  | </beansProjectDescription> | ||||||
							
								
								
									
										425
									
								
								spring-oauth/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										425
									
								
								spring-oauth/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,425 @@ | |||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |     <groupId>org.baeldung</groupId> | ||||||
|  |     <artifactId>spring-oauth</artifactId> | ||||||
|  |     <version>0.1-SNAPSHOT</version> | ||||||
|  | 
 | ||||||
|  |     <name>spring-oauth</name> | ||||||
|  |     <packaging>war</packaging> | ||||||
|  | 
 | ||||||
|  |     <dependencies> | ||||||
|  | 
 | ||||||
|  |         <!-- Spring Security --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework.security</groupId> | ||||||
|  |             <artifactId>spring-security-web</artifactId> | ||||||
|  |             <version>${org.springframework.security.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework.security</groupId> | ||||||
|  |             <artifactId>spring-security-config</artifactId> | ||||||
|  |             <version>${org.springframework.security.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |          | ||||||
|  |         <dependency> | ||||||
|  | 	        <groupId>org.springframework.security.oauth</groupId> | ||||||
|  | 	        <artifactId>spring-security-oauth2</artifactId> | ||||||
|  | 	        <version>2.0.6.RELEASE</version> | ||||||
|  | 	    </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- Spring --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-core</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |             <exclusions> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <artifactId>commons-logging</artifactId> | ||||||
|  |                     <groupId>commons-logging</groupId> | ||||||
|  |                 </exclusion> | ||||||
|  |             </exclusions> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-context</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-jdbc</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-beans</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-aop</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-tx</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-expression</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-web</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-webmvc</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |          | ||||||
|  |         <!-- web --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.apache.httpcomponents</groupId> | ||||||
|  |             <artifactId>httpclient</artifactId> | ||||||
|  |             <version>${httpclient.version}</version> | ||||||
|  |             <exclusions> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <artifactId>commons-logging</artifactId> | ||||||
|  |                     <groupId>commons-logging</groupId> | ||||||
|  |                 </exclusion> | ||||||
|  |             </exclusions> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.apache.httpcomponents</groupId> | ||||||
|  |             <artifactId>httpcore</artifactId> | ||||||
|  |             <version>${httpcore.version}</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- persistence --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-orm</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework.data</groupId> | ||||||
|  |             <artifactId>spring-data-jpa</artifactId> | ||||||
|  |             <version>${spring-data-jpa.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.hibernate</groupId> | ||||||
|  |             <artifactId>hibernate-entitymanager</artifactId> | ||||||
|  |             <version>${hibernate.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>xml-apis</groupId> | ||||||
|  |             <artifactId>xml-apis</artifactId> | ||||||
|  |             <version>1.4.01</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.javassist</groupId> | ||||||
|  |             <artifactId>javassist</artifactId> | ||||||
|  |             <version>3.18.2-GA</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>mysql</groupId> | ||||||
|  |             <artifactId>mysql-connector-java</artifactId> | ||||||
|  |             <version>${mysql-connector-java.version}</version> | ||||||
|  |             <scope>runtime</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- web --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>javax.servlet</groupId> | ||||||
|  |             <artifactId>javax.servlet-api</artifactId> | ||||||
|  |             <version>3.0.1</version> | ||||||
|  |             <scope>provided</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>javax.servlet</groupId> | ||||||
|  |             <artifactId>jstl</artifactId> | ||||||
|  |             <version>1.2</version> | ||||||
|  |             <scope>runtime</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- marshalling --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.fasterxml.jackson.core</groupId> | ||||||
|  |             <artifactId>jackson-databind</artifactId> | ||||||
|  |             <version>${jackson.version}</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.thoughtworks.xstream</groupId> | ||||||
|  |             <artifactId>xstream</artifactId> | ||||||
|  |             <version>1.4.7</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- util --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.google.guava</groupId> | ||||||
|  |             <artifactId>guava</artifactId> | ||||||
|  |             <version>${guava.version}</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- logging --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.slf4j</groupId> | ||||||
|  |             <artifactId>slf4j-api</artifactId> | ||||||
|  |             <version>${org.slf4j.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>ch.qos.logback</groupId> | ||||||
|  |             <artifactId>logback-classic</artifactId> | ||||||
|  |             <version>${logback.version}</version> | ||||||
|  |             <!-- <scope>runtime</scope> --> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.slf4j</groupId> | ||||||
|  |             <artifactId>jcl-over-slf4j</artifactId> | ||||||
|  |             <version>${org.slf4j.version}</version> | ||||||
|  |             <!-- <scope>runtime</scope> --> <!-- some spring dependencies need to compile against jcl --> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> <!-- needed to bridge to slf4j for projects that use the log4j APIs directly --> | ||||||
|  |             <groupId>org.slf4j</groupId> | ||||||
|  |             <artifactId>log4j-over-slf4j</artifactId> | ||||||
|  |             <version>${org.slf4j.version}</version> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!-- test scoped --> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.springframework</groupId> | ||||||
|  |             <artifactId>spring-test</artifactId> | ||||||
|  |             <version>${org.springframework.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>junit</groupId> | ||||||
|  |             <artifactId>junit-dep</artifactId> | ||||||
|  |             <version>${junit.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.hamcrest</groupId> | ||||||
|  |             <artifactId>hamcrest-core</artifactId> | ||||||
|  |             <version>${org.hamcrest.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.hamcrest</groupId> | ||||||
|  |             <artifactId>hamcrest-library</artifactId> | ||||||
|  |             <version>${org.hamcrest.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.mockito</groupId> | ||||||
|  |             <artifactId>mockito-core</artifactId> | ||||||
|  |             <version>${mockito.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.jayway.restassured</groupId> | ||||||
|  |             <artifactId>rest-assured</artifactId> | ||||||
|  |             <version>2.3.0</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |             <exclusions> | ||||||
|  |                 <exclusion> | ||||||
|  |                     <artifactId>commons-logging</artifactId> | ||||||
|  |                     <groupId>commons-logging</groupId> | ||||||
|  |                 </exclusion> | ||||||
|  |             </exclusions> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|  |     </dependencies> | ||||||
|  | 
 | ||||||
|  |     <build> | ||||||
|  |         <finalName>spring-oauth</finalName> | ||||||
|  |         <resources> | ||||||
|  |             <resource> | ||||||
|  |                 <directory>src/main/resources</directory> | ||||||
|  |                 <filtering>true</filtering> | ||||||
|  |             </resource> | ||||||
|  |         </resources> | ||||||
|  | 
 | ||||||
|  |         <plugins> | ||||||
|  | 
 | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-compiler-plugin</artifactId> | ||||||
|  |                 <version>3.1</version> | ||||||
|  |                 <configuration> | ||||||
|  |                     <source>1.7</source> | ||||||
|  |                     <target>1.7</target> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  | 
 | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-war-plugin</artifactId> | ||||||
|  |                 <version>${maven-war-plugin.version}</version> | ||||||
|  |             </plugin> | ||||||
|  | 
 | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                 <artifactId>maven-surefire-plugin</artifactId> | ||||||
|  |                 <version>${maven-surefire-plugin.version}</version> | ||||||
|  |                 <configuration> | ||||||
|  |                     <excludes> | ||||||
|  |                         <exclude>**/*IntegrationTest.java</exclude> | ||||||
|  |                         <exclude>**/*LiveTest.java</exclude> | ||||||
|  |                     </excludes> | ||||||
|  |                     <systemPropertyVariables> | ||||||
|  |                         <!-- <provPersistenceTarget>h2</provPersistenceTarget> --> | ||||||
|  |                     </systemPropertyVariables> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  | 
 | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>org.codehaus.cargo</groupId> | ||||||
|  |                 <artifactId>cargo-maven2-plugin</artifactId> | ||||||
|  |                 <version>${cargo-maven2-plugin.version}</version> | ||||||
|  |                 <configuration> | ||||||
|  |                     <wait>true</wait> | ||||||
|  |                     <container> | ||||||
|  |                         <containerId>jetty8x</containerId> | ||||||
|  |                         <type>embedded</type> | ||||||
|  |                         <systemProperties> | ||||||
|  |                             <!-- <provPersistenceTarget>cargo</provPersistenceTarget> --> | ||||||
|  |                         </systemProperties> | ||||||
|  |                     </container> | ||||||
|  |                     <configuration> | ||||||
|  |                         <properties> | ||||||
|  |                             <cargo.servlet.port>8080</cargo.servlet.port> | ||||||
|  |                         </properties> | ||||||
|  |                     </configuration> | ||||||
|  |                 </configuration> | ||||||
|  |             </plugin> | ||||||
|  | 
 | ||||||
|  |         </plugins> | ||||||
|  | 
 | ||||||
|  |     </build> | ||||||
|  | 
 | ||||||
|  |     <profiles> | ||||||
|  |         <profile> | ||||||
|  |             <id>integration</id> | ||||||
|  |             <build> | ||||||
|  | 
 | ||||||
|  |                 <plugins> | ||||||
|  | 
 | ||||||
|  |                     <plugin> | ||||||
|  |                         <groupId>org.apache.maven.plugins</groupId> | ||||||
|  |                         <artifactId>maven-surefire-plugin</artifactId> | ||||||
|  |                         <executions> | ||||||
|  |                             <execution> | ||||||
|  |                                 <phase>integration-test</phase> | ||||||
|  |                                 <goals> | ||||||
|  |                                     <goal>test</goal> | ||||||
|  |                                 </goals> | ||||||
|  |                                 <configuration> | ||||||
|  |                                     <excludes> | ||||||
|  |                                         <exclude>none</exclude> | ||||||
|  |                                     </excludes> | ||||||
|  |                                     <includes> | ||||||
|  |                                         <include>**/*IntegrationTest.java</include> | ||||||
|  |                                         <include>**/*LiveTest.java</include> | ||||||
|  |                                     </includes> | ||||||
|  |                                 </configuration> | ||||||
|  |                             </execution> | ||||||
|  |                         </executions> | ||||||
|  |                         <configuration> | ||||||
|  |                             <systemPropertyVariables> | ||||||
|  |                                 <test.mime>json</test.mime> | ||||||
|  |                             </systemPropertyVariables> | ||||||
|  |                         </configuration> | ||||||
|  |                     </plugin> | ||||||
|  |                     <plugin> | ||||||
|  |                         <groupId>org.codehaus.cargo</groupId> | ||||||
|  |                         <artifactId>cargo-maven2-plugin</artifactId> | ||||||
|  |                         <configuration> | ||||||
|  |                             <wait>false</wait> | ||||||
|  |                         </configuration> | ||||||
|  |                         <executions> | ||||||
|  |                             <execution> | ||||||
|  |                                 <id>start-server</id> | ||||||
|  |                                 <phase>pre-integration-test</phase> | ||||||
|  |                                 <goals> | ||||||
|  |                                     <goal>start</goal> | ||||||
|  |                                 </goals> | ||||||
|  |                             </execution> | ||||||
|  |                             <execution> | ||||||
|  |                                 <id>stop-server</id> | ||||||
|  |                                 <phase>post-integration-test</phase> | ||||||
|  |                                 <goals> | ||||||
|  |                                     <goal>stop</goal> | ||||||
|  |                                 </goals> | ||||||
|  |                             </execution> | ||||||
|  |                         </executions> | ||||||
|  |                     </plugin> | ||||||
|  |                 </plugins> | ||||||
|  | 
 | ||||||
|  |             </build> | ||||||
|  |         </profile> | ||||||
|  |     </profiles> | ||||||
|  | 
 | ||||||
|  |     <properties> | ||||||
|  |         <!-- Spring --> | ||||||
|  |         <org.springframework.version>4.1.4.RELEASE</org.springframework.version> | ||||||
|  |         <org.springframework.security.version>3.2.5.RELEASE</org.springframework.security.version> | ||||||
|  | 
 | ||||||
|  |         <!-- persistence --> | ||||||
|  |         <hibernate.version>4.3.7.Final</hibernate.version> | ||||||
|  |         <mysql-connector-java.version>5.1.34</mysql-connector-java.version> | ||||||
|  |         <spring-data-jpa.version>1.7.1.RELEASE</spring-data-jpa.version> | ||||||
|  | 
 | ||||||
|  |         <!-- marshalling --> | ||||||
|  | 
 | ||||||
|  |         <jackson.version>2.4.4</jackson.version> | ||||||
|  | 
 | ||||||
|  |         <!-- logging --> | ||||||
|  |         <org.slf4j.version>1.7.9</org.slf4j.version> | ||||||
|  |         <logback.version>1.1.2</logback.version> | ||||||
|  | 
 | ||||||
|  |         <!-- various --> | ||||||
|  |         <hibernate-validator.version>5.1.3.Final</hibernate-validator.version> | ||||||
|  | 
 | ||||||
|  |         <!-- util --> | ||||||
|  |         <guava.version>18.0</guava.version> | ||||||
|  |         <commons-lang3.version>3.3.2</commons-lang3.version> | ||||||
|  | 
 | ||||||
|  |         <!-- testing --> | ||||||
|  |         <org.hamcrest.version>1.3</org.hamcrest.version> | ||||||
|  |         <junit.version>4.11</junit.version> | ||||||
|  |         <mockito.version>1.10.19</mockito.version> | ||||||
|  | 
 | ||||||
|  |         <httpcore.version>4.4</httpcore.version> | ||||||
|  |         <httpclient.version>4.3.6</httpclient.version> | ||||||
|  | 
 | ||||||
|  |         <rest-assured.version>2.4.0</rest-assured.version> | ||||||
|  | 
 | ||||||
|  |         <!-- Maven plugins --> | ||||||
|  |         <maven-compiler-plugin.version>3.2</maven-compiler-plugin.version> | ||||||
|  |         <maven-war-plugin.version>2.5</maven-war-plugin.version> | ||||||
|  |         <maven-surefire-plugin.version>2.18.1</maven-surefire-plugin.version> | ||||||
|  |         <cargo-maven2-plugin.version>1.4.11</cargo-maven2-plugin.version> | ||||||
|  | 
 | ||||||
|  |     </properties> | ||||||
|  | 
 | ||||||
|  | </project> | ||||||
| @ -0,0 +1,42 @@ | |||||||
|  | package org.baeldung.config; | ||||||
|  | 
 | ||||||
|  | import javax.servlet.ServletContext; | ||||||
|  | import javax.servlet.ServletException; | ||||||
|  | 
 | ||||||
|  | import org.springframework.web.context.WebApplicationContext; | ||||||
|  | import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; | ||||||
|  | import org.springframework.web.filter.DelegatingFilterProxy; | ||||||
|  | import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer; | ||||||
|  | 
 | ||||||
|  | public class ServletInitializer extends AbstractDispatcherServletInitializer { | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     protected WebApplicationContext createServletApplicationContext() { | ||||||
|  |         AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); | ||||||
|  |         context.register(WebConfig.class); | ||||||
|  |         return context; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     protected String[] getServletMappings() { | ||||||
|  |         return new String[] { "/" }; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     protected WebApplicationContext createRootApplicationContext() { | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public void onStartup(ServletContext servletContext) throws ServletException { | ||||||
|  |         super.onStartup(servletContext); | ||||||
|  |         registerProxyFilter(servletContext, "oauth2ClientContextFilter"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void registerProxyFilter(ServletContext servletContext, String name) { | ||||||
|  |         DelegatingFilterProxy filter = new DelegatingFilterProxy(name); | ||||||
|  |         filter.setContextAttribute("org.springframework.web.servlet.FrameworkServlet.CONTEXT.dispatcher"); | ||||||
|  |         servletContext.addFilter(name, filter).addMappingForUrlPatterns(null, false, "/*"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,94 @@ | |||||||
|  | package org.baeldung.config; | ||||||
|  | 
 | ||||||
|  | import java.util.Arrays; | ||||||
|  | 
 | ||||||
|  | import org.baeldung.web.RedditController; | ||||||
|  | import org.springframework.beans.factory.annotation.Qualifier; | ||||||
|  | import org.springframework.beans.factory.annotation.Value; | ||||||
|  | import org.springframework.context.annotation.Bean; | ||||||
|  | import org.springframework.context.annotation.Configuration; | ||||||
|  | import org.springframework.context.annotation.PropertySource; | ||||||
|  | import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; | ||||||
|  | import org.springframework.security.oauth2.client.OAuth2ClientContext; | ||||||
|  | import org.springframework.security.oauth2.client.OAuth2RestTemplate; | ||||||
|  | import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails; | ||||||
|  | import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails; | ||||||
|  | import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client; | ||||||
|  | import org.springframework.web.client.RestOperations; | ||||||
|  | import org.springframework.web.servlet.ViewResolver; | ||||||
|  | import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; | ||||||
|  | import org.springframework.web.servlet.config.annotation.EnableWebMvc; | ||||||
|  | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; | ||||||
|  | import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; | ||||||
|  | import org.springframework.web.servlet.view.InternalResourceViewResolver; | ||||||
|  | 
 | ||||||
|  | @Configuration | ||||||
|  | @EnableWebMvc | ||||||
|  | public class WebConfig extends WebMvcConfigurerAdapter { | ||||||
|  | 
 | ||||||
|  |     @Bean | ||||||
|  |     public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { | ||||||
|  |         return new PropertySourcesPlaceholderConfigurer(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Bean | ||||||
|  |     public ViewResolver viewResolver() { | ||||||
|  |         InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); | ||||||
|  |         viewResolver.setPrefix("/WEB-INF/jsp/"); | ||||||
|  |         viewResolver.setSuffix(".jsp"); | ||||||
|  |         return viewResolver; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { | ||||||
|  |         configurer.enable(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Bean | ||||||
|  |     public RedditController redditController(@Qualifier("redditRestTemplate") RestOperations redditRestTemplate) { | ||||||
|  |         RedditController controller = new RedditController(); | ||||||
|  |         controller.setRedditRestTemplate(redditRestTemplate); | ||||||
|  |         return controller; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void addResourceHandlers(ResourceHandlerRegistry registry) { | ||||||
|  |         registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Configuration | ||||||
|  |     @EnableOAuth2Client | ||||||
|  |     @PropertySource("classpath:reddit.properties") | ||||||
|  |     protected static class ResourceConfiguration { | ||||||
|  | 
 | ||||||
|  |         @Value("${accessTokenUri}") | ||||||
|  |         private String accessTokenUri; | ||||||
|  | 
 | ||||||
|  |         @Value("${userAuthorizationUri}") | ||||||
|  |         private String userAuthorizationUri; | ||||||
|  | 
 | ||||||
|  |         @Value("${clientID}") | ||||||
|  |         private String clientID; | ||||||
|  | 
 | ||||||
|  |         @Value("${clientSecret}") | ||||||
|  |         private String clientSecret; | ||||||
|  | 
 | ||||||
|  |         @Bean | ||||||
|  |         public OAuth2ProtectedResourceDetails reddit() { | ||||||
|  |             AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); | ||||||
|  |             details.setId("reddit"); | ||||||
|  |             details.setClientId(clientID); | ||||||
|  |             details.setClientSecret(clientSecret); | ||||||
|  |             details.setAccessTokenUri(accessTokenUri); | ||||||
|  |             details.setUserAuthorizationUri(userAuthorizationUri); | ||||||
|  |             details.setTokenName("oauth_token"); | ||||||
|  |             details.setScope(Arrays.asList("identity")); | ||||||
|  |             return details; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         @Bean | ||||||
|  |         public OAuth2RestTemplate redditRestTemplate(OAuth2ClientContext clientContext) { | ||||||
|  |             OAuth2RestTemplate template = new OAuth2RestTemplate(reddit(), clientContext); | ||||||
|  |             return template; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,28 @@ | |||||||
|  | package org.baeldung.web; | ||||||
|  | 
 | ||||||
|  | import org.springframework.stereotype.Controller; | ||||||
|  | import org.springframework.ui.Model; | ||||||
|  | import org.springframework.web.bind.annotation.RequestMapping; | ||||||
|  | import org.springframework.web.client.RestOperations; | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.databind.JsonNode; | ||||||
|  | import com.fasterxml.jackson.databind.ObjectMapper; | ||||||
|  | 
 | ||||||
|  | @Controller | ||||||
|  | public class RedditController { | ||||||
|  | 
 | ||||||
|  |     private RestOperations redditRestTemplate; | ||||||
|  | 
 | ||||||
|  |     @RequestMapping("/reddit/info") | ||||||
|  |     public String getInfo(Model model) throws Exception { | ||||||
|  |         String result = redditRestTemplate.getForObject("https://oauth.reddit.com/api/v1/me", String.class); | ||||||
|  |         JsonNode node = new ObjectMapper().readTree(result); | ||||||
|  |         model.addAttribute("info", node.get("name").asText()); | ||||||
|  |         return "reddit"; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setRedditRestTemplate(RestOperations redditRestTemplate) { | ||||||
|  |         this.redditRestTemplate = redditRestTemplate; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										41
									
								
								spring-oauth/src/main/resources/log4j.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								spring-oauth/src/main/resources/log4j.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> | ||||||
|  | <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> | ||||||
|  | 
 | ||||||
|  | 	<!-- Appenders --> | ||||||
|  | 	<appender name="console" class="org.apache.log4j.ConsoleAppender"> | ||||||
|  | 		<param name="Target" value="System.out" /> | ||||||
|  | 		<layout class="org.apache.log4j.PatternLayout"> | ||||||
|  | 			<param name="ConversionPattern" value="%-5p: %c - %m%n" /> | ||||||
|  | 		</layout> | ||||||
|  | 	</appender> | ||||||
|  | 	 | ||||||
|  | 	<!-- Application Loggers --> | ||||||
|  | 	<logger name="org.baeldung.web"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 	 | ||||||
|  | 	<!-- 3rdparty Loggers --> | ||||||
|  | 	<logger name="org.springframework.core"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 	 | ||||||
|  | 	<logger name="org.springframework.beans"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 	 | ||||||
|  | 	<logger name="org.springframework.context"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 
 | ||||||
|  | 	<logger name="org.springframework.web"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 
 | ||||||
|  | 	<!-- Root Logger --> | ||||||
|  | 	<root> | ||||||
|  | 		<priority value="warn" /> | ||||||
|  | 		<appender-ref ref="console" /> | ||||||
|  | 	</root> | ||||||
|  | 	 | ||||||
|  | </log4j:configuration> | ||||||
							
								
								
									
										4
									
								
								spring-oauth/src/main/resources/reddit.properties
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								spring-oauth/src/main/resources/reddit.properties
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | clientID=5iAHD5-BBmEL8Q | ||||||
|  | clientSecret=grkII6-THVcFsMm1wVTiQDRONmw | ||||||
|  | accessTokenUri=https://www.reddit.com/api/v1/access_token | ||||||
|  | userAuthorizationUri=https://www.reddit.com/api/v1/authorize | ||||||
							
								
								
									
										12
									
								
								spring-oauth/src/main/webapp/WEB-INF/jsp/reddit.jsp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								spring-oauth/src/main/webapp/WEB-INF/jsp/reddit.jsp
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | 
 | ||||||
|  | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | ||||||
|  | <html xmlns="http://www.w3.org/1999/xhtml"> | ||||||
|  | <head> | ||||||
|  | 
 | ||||||
|  | <title>Spring OAuth</title> | ||||||
|  | </head> | ||||||
|  | <body> | ||||||
|  | <h1>Your Reddit Info</h1> | ||||||
|  | <b>Your reddit username is </b>${info} | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
							
								
								
									
										15
									
								
								spring-oauth/src/main/webapp/index.jsp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								spring-oauth/src/main/webapp/index.jsp
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | 
 | ||||||
|  | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | ||||||
|  | <!DOCTYPE html> | ||||||
|  | <html lang="en"> | ||||||
|  | <head> | ||||||
|  | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||||||
|  | <title>Spring OAuth</title> | ||||||
|  | </head> | ||||||
|  | <body> | ||||||
|  | 	 | ||||||
|  | <h1>Welcome to Spring OAuth</h1> | ||||||
|  | <a href="reddit/info">Login with Reddit</a> | ||||||
|  | 			 | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
							
								
								
									
										41
									
								
								spring-oauth/src/test/resources/log4j.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								spring-oauth/src/test/resources/log4j.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> | ||||||
|  | <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> | ||||||
|  | 
 | ||||||
|  | 	<!-- Appenders --> | ||||||
|  | 	<appender name="console" class="org.apache.log4j.ConsoleAppender"> | ||||||
|  | 		<param name="Target" value="System.out" /> | ||||||
|  | 		<layout class="org.apache.log4j.PatternLayout"> | ||||||
|  | 			<param name="ConversionPattern" value="%-5p: %c - %m%n" /> | ||||||
|  | 		</layout> | ||||||
|  | 	</appender> | ||||||
|  | 	 | ||||||
|  | 	<!-- Application Loggers --> | ||||||
|  | 	<logger name="org.baeldung.web"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 	 | ||||||
|  | 	<!-- 3rdparty Loggers --> | ||||||
|  | 	<logger name="org.springframework.core"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger>	 | ||||||
|  | 	 | ||||||
|  | 	<logger name="org.springframework.beans"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 	 | ||||||
|  | 	<logger name="org.springframework.context"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 
 | ||||||
|  | 	<logger name="org.springframework.web"> | ||||||
|  | 		<level value="info" /> | ||||||
|  | 	</logger> | ||||||
|  | 
 | ||||||
|  | 	<!-- Root Logger --> | ||||||
|  | 	<root> | ||||||
|  | 		<priority value="info" /> | ||||||
|  | 		<appender-ref ref="console" /> | ||||||
|  | 	</root> | ||||||
|  | 	 | ||||||
|  | </log4j:configuration> | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user