spring-boot-realworld-examp.../src/main/java/io/spring/graphql/SecurityUtil.java
2021-03-23 17:15:49 +08:00

20 lines
765 B
Java

package io.spring.graphql;
import io.spring.core.user.User;
import java.util.Optional;
import org.springframework.security.authentication.AnonymousAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
public class SecurityUtil {
public static Optional<User> getCurrentUser() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication instanceof AnonymousAuthenticationToken
|| authentication.getPrincipal() == null) {
return Optional.empty();
}
io.spring.core.user.User currentUser = (io.spring.core.user.User) authentication.getPrincipal();
return Optional.of(currentUser);
}
}