java-learn / src /main /java /com /example /app /services /UserAccountDetails.java
variphx's picture
refactor
b58280e
raw
history blame
1.51 kB
package com.example.app.services;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import com.example.app.entities.Role;
import com.example.app.entities.UserAccount;
public class UserAccountDetails implements UserDetails {
private String email;
private String passwordHash;
private List<GrantedAuthority> authorities;
public UserAccountDetails(UserAccount userAccount) {
this.email = userAccount.getEmail();
this.passwordHash = userAccount.getPasswordHash();
this.authorities = userAccount.getRoles().stream().map(Role::getName).map(SimpleGrantedAuthority::new)
.collect(Collectors.toList());
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return authorities;
}
@Override
public String getUsername() {
return email;
}
@Override
public String getPassword() {
return passwordHash;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}