package me.chyxion.tigon.shiro.cas;

import lombok.Getter;
import lombok.Setter;
import java.util.Map;
import java.util.Set;
import javax.validation.constraints.NotBlank;
import org.springframework.validation.annotation.Validated;

/**
 * @author Shaun Chyxion <br>
 * chyxion@163.com <br>
 * Jun 26, 2018 21:57:43
 */
@Validated
public interface UserProfileProvider {

    @Getter
    @Setter
    class UserProfile {
        private Set<String> roles;
        private Set<String> permissions;
        private Map<String, Object> attrs;
        private Map<String, Object> authAttrs;
    }

    UserProfile getUserProfile(@NotBlank String account);
}
