Compare commits

..

3 Commits

Author SHA1 Message Date
2c0273dd76 update oidc config and outputs user info 2022-03-06 11:09:24 +08:00
6880dd513e add password encode tests 2022-01-05 00:03:17 +08:00
f76ffb4c02 add password encode tests 2022-01-05 00:03:10 +08:00
6 changed files with 56 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
{
"java": "15",
"java": "1.8",
"builder": {
"name": "maven",
"version": "3.8.4"

21
pom.xml
View File

@@ -16,7 +16,7 @@
</parent>
<properties>
<java.version>15</java.version>
<java.version>8</java.version>
</properties>
<dependencies>
@@ -36,9 +36,26 @@
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-openid</artifactId>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.70</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<build>
<plugins>
<plugin>

View File

@@ -3,26 +3,21 @@ package me.hatter.sample;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.core.oidc.user.OidcUser;
import org.springframework.security.oauth2.core.user.OAuth2User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SampleController {
@GetMapping("/oidc-principal")
public OidcUser getOidcUserPrincipal(
@AuthenticationPrincipal OidcUser principal) {
@GetMapping("/oauth2-principal")
public OAuth2User getOidcUserPrincipal(
@AuthenticationPrincipal OAuth2User principal) {
return principal;
}
@GetMapping("/oidc-principal2")
@GetMapping("/oauth2-principal2")
public Object getOidcUserPrincipal2() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication.getPrincipal() instanceof OidcUser) {
OidcUser principal = ((OidcUser) authentication.getPrincipal());
return principal;
} else {
return authentication.getPrincipal();
}
}
}

View File

@@ -8,12 +8,9 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http// only disable these during testing or for non-browser clients
// .cors().disable()
// .csrf().disable()
.authorizeRequests()
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.oauth2Login().loginPage("/oauth2/authorization/google");
.oauth2Login();
}
}

View File

@@ -0,0 +1,25 @@
package me.hatter.sample.tests;
import org.springframework.security.crypto.argon2.Argon2PasswordEncoder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.LdapShaPasswordEncoder;
import org.springframework.security.crypto.password.Md4PasswordEncoder;
import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder;
import org.springframework.security.crypto.scrypt.SCryptPasswordEncoder;
public class TestPasswordEncoder {
public static void main(String[] args) {
Argon2PasswordEncoder argon2PasswordEncoder = new Argon2PasswordEncoder();
System.out.println(argon2PasswordEncoder.encode("hello"));
SCryptPasswordEncoder sCryptPasswordEncoder = new SCryptPasswordEncoder();
System.out.println(sCryptPasswordEncoder.encode("hello"));
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
System.out.println(bCryptPasswordEncoder.encode("hello"));
Pbkdf2PasswordEncoder pbkdf2PasswordEncoder = new Pbkdf2PasswordEncoder();
System.out.println(pbkdf2PasswordEncoder.encode("hello"));
LdapShaPasswordEncoder ldapShaPasswordEncoder = new LdapShaPasswordEncoder();
System.out.println(ldapShaPasswordEncoder.encode("hello"));
Md4PasswordEncoder md4PasswordEncoder = new Md4PasswordEncoder();
System.out.println(md4PasswordEncoder.encode("hello"));
}
}

View File

@@ -4,5 +4,6 @@ application.title=This is SpringBoot sample application
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false
spring.security.oauth2.client.registration.google.client-id=test
spring.security.oauth2.client.registration.google.client-secret=test
spring.security.oauth2.client.provider.login.issuer-uri=<issuer>
spring.security.oauth2.client.registration.login.client-id=<client-id>
spring.security.oauth2.client.registration.login.client-secret=<client-secret>