use cookie for journal request
This commit is contained in:
parent
519b5b6b39
commit
32910508ef
1 changed files with 15 additions and 9 deletions
|
|
@ -1,22 +1,22 @@
|
|||
package ru.micord.ervu.service.grid.impl;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import ru.micord.ervu.journal.JournalDto;
|
||||
import ru.micord.ervu.journal.JournalFileDataRequest;
|
||||
import ru.micord.ervu.journal.JournalFileDataResponse;
|
||||
import ru.micord.ervu.journal.mapper.JournalDtoMapper;
|
||||
import ru.micord.ervu.security.webbpm.jwt.JwtAuthentication;
|
||||
import ru.micord.ervu.service.InteractionService;
|
||||
import ru.micord.ervu.service.grid.InMemoryStaticGridLoadService;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.micord.ervu.kafka.service.ReplyingKafkaService;
|
||||
|
|
@ -30,6 +30,8 @@ public class JournalInMemoryStaticGridLoadService implements
|
|||
private final InteractionService interactionService;
|
||||
private final ReplyingKafkaService ervuReplyingKafkaService;
|
||||
private final ObjectMapper objectMapper;
|
||||
private final HttpServletRequest request;
|
||||
|
||||
|
||||
@Value("${ervu.kafka.journal.request.topic}")
|
||||
private String requestTopic;
|
||||
|
|
@ -41,11 +43,12 @@ public class JournalInMemoryStaticGridLoadService implements
|
|||
public JournalInMemoryStaticGridLoadService(JwtTokenService jwtTokenService,
|
||||
InteractionService interactionService,
|
||||
ReplyingKafkaService ervuReplyingKafkaService,
|
||||
ObjectMapper objectMapper) {
|
||||
ObjectMapper objectMapper, HttpServletRequest request) {
|
||||
this.jwtTokenService = jwtTokenService;
|
||||
this.interactionService = interactionService;
|
||||
this.ervuReplyingKafkaService = ervuReplyingKafkaService;
|
||||
this.objectMapper = objectMapper;
|
||||
this.request = request;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -76,11 +79,14 @@ public class JournalInMemoryStaticGridLoadService implements
|
|||
}
|
||||
|
||||
private JournalFileDataRequest initJournalFileDataRequest() {
|
||||
Optional<Authentication> authentication = Optional.ofNullable(
|
||||
SecurityContextHolder.getContext().getAuthentication());
|
||||
String jwtToken = authentication.map(auth -> ((JwtAuthentication) auth).getToken())
|
||||
String authToken = Optional.ofNullable(request.getCookies())
|
||||
.map(cookies -> Arrays.stream(cookies)
|
||||
.filter(cookie -> cookie.getName().equals("auth_token"))
|
||||
.findFirst()
|
||||
.map(Cookie::getValue)
|
||||
.orElseThrow(() -> new RuntimeException("Failed to get auth data. User unauthorized.")))
|
||||
.orElseThrow(() -> new RuntimeException("Failed to get auth data. User unauthorized."));
|
||||
String[] ids = jwtTokenService.getToken(jwtToken).getUserAccountId().split(":");
|
||||
String[] ids = jwtTokenService.getToken(authToken).getUserAccountId().split(":");
|
||||
String userId = ids[0];
|
||||
String ervuId = ids[1];
|
||||
return new JournalFileDataRequest()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue