This repository has been archived on 2022-07-05. You can view files and clone it, but cannot push or open issues/pull-requests.
steleks_backend/users/src/main/java/ba/steleks/security/TokenAuthenticationService....

43 lines
1.5 KiB
Java

package ba.steleks.security;
import ba.steleks.model.User;
import ba.steleks.repository.UsersJpaRepository;
import ba.steleks.security.token.TokenStore;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import javax.servlet.http.HttpServletRequest;
/**
* Created by ensar on 28/05/17.
*/
public class TokenAuthenticationService {
static final String HEADER_STRING = "Authorization";
public static Authentication getAuthentication(HttpServletRequest request,
TokenStore tokenStore,
UsersJpaRepository usersJpaRepository) {
String token = request.getHeader(HEADER_STRING);
System.out.println("token: " + token);
System.out.println("headers: " + request.getHeaderNames());
if (token != null && tokenStore.isValidToken(token)) {
Long userId = tokenStore.getTokenInfo(token);
User user = usersJpaRepository.findOne(userId);
if(user != null) {
System.out.println("Found token... userId: " + userId);
return new UsernamePasswordAuthenticationToken(user.getUsername(), null,
UserRoleFactory.toGrantedAuthorities(user.getUserRoles()));
} else {
System.out.println("Cant find token");
return null;
}
}
System.out.println("Cant find token");
return null;
}
}