[SECARSP-111] *add fullname to payload
authorm.dalakov <m.dalakov@samsung.com>
Wed, 21 Feb 2018 16:04:53 +0000 (18:04 +0200)
committerDmytro Lomtiev <d.lomtev@samsung.com>
Fri, 16 Mar 2018 14:16:49 +0000 (16:16 +0200)
Change-Id: I7b0d3ebd9ac4cbb96f6bdd61c2fe92963c8edc9f

server/src/main/java/com/samsung/samserver/security/jwt/TokenProvider.java
server/src/main/java/com/samsung/samserver/web/rest/service/UserJWTService.java

index ebbecc0..30c1e81 100644 (file)
@@ -52,7 +52,7 @@ public class TokenProvider {
             1000 * jHipsterProperties.getSecurity().getAuthentication().getJwt().getTokenValidityInSecondsForRememberMe();
     }
 
-    public String createToken(Authentication authentication, boolean rememberMe) {
+    public String createToken(Authentication authentication, boolean rememberMe, com.samsung.samserver.domain.User user) {
         String authorities = authentication.getAuthorities().stream()
             .map(GrantedAuthority::getAuthority)
             .collect(Collectors.joining(","));
@@ -68,6 +68,7 @@ public class TokenProvider {
         return Jwts.builder()
             .setSubject(authentication.getName())
             .claim(AUTHORITIES_KEY, authorities)
+            .claim("fullName", user.getFirstName())
             .signWith(SignatureAlgorithm.HS512, secretKey)
             .setExpiration(validity)
             .compact();
index 6963d95..c752e94 100644 (file)
@@ -3,6 +3,7 @@ package com.samsung.samserver.web.rest.service;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.samsung.samserver.security.jwt.JWTConfigurer;
 import com.samsung.samserver.security.jwt.TokenProvider;
+import com.samsung.samserver.service.impl.UserService;
 import org.hibernate.validator.constraints.NotBlank;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
@@ -31,9 +32,12 @@ public class UserJWTService {
 
     private final AuthenticationManager authenticationManager;
 
-    public UserJWTService(TokenProvider tokenProvider, AuthenticationManager authenticationManager) {
+    private final UserService userService;
+
+    public UserJWTService(TokenProvider tokenProvider, AuthenticationManager authenticationManager, UserService userService) {
         this.tokenProvider = tokenProvider;
         this.authenticationManager = authenticationManager;
+        this.userService = userService;
     }
 
     private LoginVM UILogin2LoginVM(UILogin uiLogin) {
@@ -52,7 +56,7 @@ public class UserJWTService {
         Authentication authentication = this.authenticationManager.authenticate(authenticationToken);
         SecurityContextHolder.getContext().setAuthentication(authentication);
         boolean rememberMe = (loginVM.isRememberMe() == null) ? false : loginVM.isRememberMe();
-        String jwt = tokenProvider.createToken(authentication, rememberMe);
+        String jwt = tokenProvider.createToken(authentication, rememberMe, userService.getUserWithAuthorities().get());
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.add(JWTConfigurer.AUTHORIZATION_HEADER, "Bearer " + jwt);
         return new ResponseEntity<>(new JWTToken(jwt), httpHeaders, HttpStatus.OK);