Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.auth0.jwt.interfaces.DecodedJWT;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.User;
import org.clevercastle.authforge.UserLoginItem;
import org.clevercastle.authforge.exception.CastleException;
import org.clevercastle.authforge.entity.User;
import org.clevercastle.authforge.entity.UserLoginItem;
import org.clevercastle.authforge.UserRegisterRequest;
import org.clevercastle.authforge.UserService;
import org.clevercastle.authforge.UserWithToken;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import org.clevercastle.authforge.UserService;
import org.clevercastle.authforge.UserServiceImpl;
import org.clevercastle.authforge.repository.UserRepository;
import org.clevercastle.authforge.repository.rdsjpa.IUserLoginItemRepository;
import org.clevercastle.authforge.repository.rdsjpa.IUserModelRepository;
import org.clevercastle.authforge.repository.rdsjpa.IUserRefreshTokenMappingRepository;
import org.clevercastle.authforge.repository.rdsjpa.UserRepositoryImpl;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserLoginItemRepository;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserModelRepository;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserRefreshTokenMappingRepository;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserRepositoryImpl;
import org.clevercastle.authforge.token.TokenService;
import org.clevercastle.authforge.token.jwt.JwtTokenService;
import org.clevercastle.authforge.verification.DummyVerificationService;
Expand All @@ -31,10 +31,10 @@
@Configuration
public class Beans {
@Bean
public UserRepository userRepository(IUserModelRepository userModelRepository,
IUserLoginItemRepository userLoginItemRepository,
IUserRefreshTokenMappingRepository userRefreshTokenMappingRepository) {
return new UserRepositoryImpl(userModelRepository, userLoginItemRepository, userRefreshTokenMappingRepository);
public UserRepository userRepository(RdsJpaUserModelRepository userModelRepository,
RdsJpaUserLoginItemRepository userLoginItemRepository,
RdsJpaUserRefreshTokenMappingRepository userRefreshTokenMappingRepository) {
return new RdsJpaUserRepositoryImpl(userModelRepository, userLoginItemRepository, userRefreshTokenMappingRepository);
}

@Bean
Expand All @@ -56,8 +56,8 @@ public TokenService tokenService() throws NoSuchAlgorithmException, InvalidKeySp
}

@Bean
public UserService userService(UserRepository userRepository, IUserLoginItemRepository userLoginItemRepository, TokenService tokenService) {
return new UserServiceImpl(Config.builder().build(), userRepository, tokenService, new DummyVerificationService(userLoginItemRepository));
public UserService userService(UserRepository userRepository, TokenService tokenService) {
return new UserServiceImpl(Config.builder().build(), userRepository, tokenService, new DummyVerificationService(userRepository));
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.util.Timeout;
import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.exception.CastleException;
import org.clevercastle.authforge.http.HttpRequest;
import org.clevercastle.authforge.http.HttpResponse;
import org.clevercastle.authforge.http.IHttpClient;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.clevercastle.authforge.examples.springboot.springbootexample;

import org.clevercastle.authforge.User;
import org.clevercastle.authforge.entity.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.clevercastle.authforge.examples.springboot.springbootexample;

import org.clevercastle.authforge.UserLoginItem;
import org.clevercastle.authforge.repository.rdsjpa.UserLoginItemJpaRepository;
import org.clevercastle.authforge.entity.UserLoginItem;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserLoginItemRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserLoginItemRepositoryAdapter extends UserLoginItemJpaRepository, JpaRepository<UserLoginItem, String> {
public interface UserLoginItemRepositoryAdapter extends RdsJpaUserLoginItemRepository, JpaRepository<UserLoginItem, String> {
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.clevercastle.authforge.examples.springboot.springbootexample;

import org.clevercastle.authforge.User;
import org.clevercastle.authforge.repository.rdsjpa.IUserModelRepository;
import org.clevercastle.authforge.entity.User;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserModelRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserModelRepositoryAdapter extends IUserModelRepository, JpaRepository<User, String> {
public interface UserModelRepositoryAdapter extends RdsJpaUserModelRepository, JpaRepository<User, String> {
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.clevercastle.authforge.examples.springboot.springbootexample;

import org.clevercastle.authforge.UserRefreshTokenMapping;
import org.clevercastle.authforge.repository.rdsjpa.IUserRefreshTokenMappingRepository;
import org.clevercastle.authforge.repository.rdsjpa.UserRefreshTokenMappingId;
import org.clevercastle.authforge.entity.UserRefreshTokenMapping;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserRefreshTokenMappingRepository;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserRefreshTokenMappingId;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRefreshTokenMappingRepositoryAdapter extends IUserRefreshTokenMappingRepository, JpaRepository<UserRefreshTokenMapping, UserRefreshTokenMappingId> {
public interface UserRefreshTokenMappingRepositoryAdapter extends RdsJpaUserRefreshTokenMappingRepository, JpaRepository<UserRefreshTokenMapping, RdsJpaUserRefreshTokenMappingId> {
}

This file was deleted.

3 changes: 3 additions & 0 deletions src/main/java/org/clevercastle/authforge/UserService.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package org.clevercastle.authforge;

import org.apache.commons.lang3.tuple.Pair;
import org.clevercastle.authforge.entity.User;
import org.clevercastle.authforge.entity.UserLoginItem;
import org.clevercastle.authforge.exception.CastleException;
import org.clevercastle.authforge.oauth2.Oauth2ClientConfig;

public interface UserService {
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/org/clevercastle/authforge/UserServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@
import jakarta.annotation.Nonnull;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.clevercastle.authforge.exception.CastleException;
import org.clevercastle.authforge.exception.UserExistException;
import org.clevercastle.authforge.exception.UserNotFoundException;
import org.clevercastle.authforge.entity.User;
import org.clevercastle.authforge.entity.UserLoginItem;
import org.clevercastle.authforge.oauth2.Oauth2ClientConfig;
import org.clevercastle.authforge.oauth2.Oauth2User;
import org.clevercastle.authforge.repository.UserRepository;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/clevercastle/authforge/UserWithToken.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package org.clevercastle.authforge;

import org.clevercastle.authforge.entity.User;

public class UserWithToken {
private final User user;
private final TokenHolder tokenHolder;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package org.clevercastle.authforge;
package org.clevercastle.authforge.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.clevercastle.authforge.UserState;

import java.time.OffsetDateTime;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.clevercastle.authforge;
package org.clevercastle.authforge.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package org.clevercastle.authforge;
package org.clevercastle.authforge.entity;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
import jakarta.persistence.Table;
import org.clevercastle.authforge.repository.rdsjpa.UserRefreshTokenMappingId;
import org.clevercastle.authforge.repository.rdsjpa.RdsJpaUserRefreshTokenMappingId;

import java.time.OffsetDateTime;

@javax.persistence.Entity
@javax.persistence.Table(name = "user_refresh_token")
@Entity
@Table(name = "user_refresh_token")
@javax.persistence.IdClass(UserRefreshTokenMappingId.class)
@IdClass(UserRefreshTokenMappingId.class)
@javax.persistence.IdClass(RdsJpaUserRefreshTokenMappingId.class)
@IdClass(RdsJpaUserRefreshTokenMappingId.class)
public class UserRefreshTokenMapping {
@javax.persistence.Id
@Id
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.clevercastle.authforge;
package org.clevercastle.authforge.exception;

public class CastleException extends Exception {
public CastleException() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
package org.clevercastle.authforge.exception;

import org.clevercastle.authforge.CastleException;

public class UserExistException extends CastleException {
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.clevercastle.authforge.exception;

import org.clevercastle.authforge.CastleException;

public class UserNotConfirmedException extends CastleException {
public UserNotConfirmedException() {
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.clevercastle.authforge.exception;

import org.clevercastle.authforge.CastleException;

public class UserNotFoundException extends CastleException {
public UserNotFoundException() {
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.clevercastle.authforge.http;

import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.exception.CastleException;

public interface IHttpClient {
HttpResponse execute(HttpRequest request) throws CastleException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import com.nimbusds.oauth2.sdk.http.HTTPResponse;
import com.nimbusds.oauth2.sdk.id.ClientID;
import org.apache.commons.lang3.StringUtils;
import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.exception.CastleException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.clevercastle.authforge.oauth2;

import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.exception.CastleException;

public interface Oauth2ExchangeService {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.nimbusds.oauth2.sdk.http.HTTPRequest;
import com.nimbusds.oauth2.sdk.http.HTTPResponse;
import com.nimbusds.openid.connect.sdk.OIDCTokenResponse;
import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.exception.CastleException;
import org.clevercastle.authforge.http.HttpResponse;
import org.clevercastle.authforge.oauth2.AbstractOauth2ExchangeService;
import org.clevercastle.authforge.oauth2.Oauth2ClientConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.nimbusds.oauth2.sdk.TokenResponse;
import com.nimbusds.oauth2.sdk.http.HTTPResponse;
import com.nimbusds.openid.connect.sdk.OIDCTokenResponse;
import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.exception.CastleException;
import org.clevercastle.authforge.oauth2.AbstractOauth2ExchangeService;
import org.clevercastle.authforge.oauth2.Oauth2ClientConfig;
import org.clevercastle.authforge.oauth2.Oauth2User;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
package org.clevercastle.authforge.repository;

import jakarta.annotation.Nonnull;
import org.apache.commons.lang3.tuple.Pair;
import org.clevercastle.authforge.CastleException;
import org.clevercastle.authforge.User;
import org.clevercastle.authforge.UserLoginItem;
import org.clevercastle.authforge.UserRefreshTokenMapping;
import org.clevercastle.authforge.exception.CastleException;
import org.clevercastle.authforge.entity.User;
import org.clevercastle.authforge.entity.UserLoginItem;
import org.clevercastle.authforge.entity.UserRefreshTokenMapping;

import java.time.OffsetDateTime;

public interface UserRepository {
void save(User user, UserLoginItem userLoginItem);

void save(User user);

void saveLoginItem(UserLoginItem loginItem);

@Nonnull
Pair<User, UserLoginItem> getByLoginIdentifier(String loginIdentifier);

@Nonnull
Pair<User, UserLoginItem> getByUserSub(String userSUb);

void confirmLoginItem(String loginIdentifier);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
package org.clevercastle.authforge.repository.rdsjpa;

import org.clevercastle.authforge.entity.UserLoginItem;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import javax.transaction.Transactional;
public interface RdsJpaUserLoginItemRepository {
UserLoginItem save(UserLoginItem userLoginItem);

public interface UserLoginItemJpaRepository extends IUserLoginItemRepository {
UserLoginItem getByLoginIdentifier(String loginIdentifier);

UserLoginItem getByUserSub(String userSub);

@Modifying
@Transactional
@Query("UPDATE UserLoginItem u\n" +
" SET u.state = 'ACTIVE', \n" +
" u.verificationCode = NULL\n" +
" WHERE u.loginIdentifier = :loginIdentifier")
void confirmLoginItem(@Param("loginIdentifier") String loginIdentifier);
void confirmLoginItem(String loginIdentifier);
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.clevercastle.authforge.repository.rdsjpa;

import org.clevercastle.authforge.User;
import org.clevercastle.authforge.entity.User;

public interface IUserModelRepository {
public interface RdsJpaUserModelRepository {
User save(User user);

User getByUserId(String userId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import java.io.Serializable;

public class UserRefreshTokenMappingId implements Serializable {
public class RdsJpaUserRefreshTokenMappingId implements Serializable {
private String userId;
private String refreshToken;

public UserRefreshTokenMappingId() {
public RdsJpaUserRefreshTokenMappingId() {
}

public UserRefreshTokenMappingId(String userId, String refreshToken) {
public RdsJpaUserRefreshTokenMappingId(String userId, String refreshToken) {
this.userId = userId;
this.refreshToken = refreshToken;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.clevercastle.authforge.repository.rdsjpa;

import org.clevercastle.authforge.UserRefreshTokenMapping;
import org.clevercastle.authforge.entity.UserRefreshTokenMapping;

public interface IUserRefreshTokenMappingRepository {
public interface RdsJpaUserRefreshTokenMappingRepository {
UserRefreshTokenMapping getByUserIdAndRefreshToken(String userIed, String refreshToken);

void deleteByUserIdAndRefreshToken(String userIed, String refreshToken);
Expand Down
Loading
Loading