All Downloads are FREE. Search and download functionalities are using the official Maven repository.

club.zhcs.auth.AuthUser Maven / Gradle / Ivy

package club.zhcs.auth;

import java.util.List;

import org.nutz.lang.util.NutMap;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder.Default;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
 * @author Kerbores(kerbores @ gmail.com)
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class AuthUser {
    @Schema(description = "用户名", required = true)
    String userName;

    @Schema(description = "密码", required = true)
    String password;

    @Schema(description = "jwt Token", required = true)
    String token;

    @Schema(description = "jwt refreshToken", required = true)
    String refreshToken;

    @Schema(description = "角色列表", required = true)
    List roles;

    @Schema(description = "权限列表", required = true)
    List permissions;

    @Default
    @Schema(description = "扩展信息", required = true)
    NutMap extInfo = NutMap.NEW();

    /**
     * 添加扩展信息
     * 
     * @param key
     *            key
     * @param value
     *            value
     * @return 用户信息
     */
    public AuthUser addExt(String key, Object value) {
        getExtInfo().setv(key, value);
        return this;
    }

    public AuthUser token() {
        return token(24 * 60 * 60 * 1000L, 60 * 60 * 1000 * 24 * 365L);
    }

    public AuthUser token(long accessTokenExpire, long refreshTokenExpire) {
        setToken(JwtUtil.sign(userName, password, accessTokenExpire));
        setRefreshToken(JwtUtil.sign(userName, password, refreshTokenExpire));
        return this;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy