sa-token/sa-token-doc/doc/up/token-style.md
2021-07-22 20:36:46 +08:00

3.5 KiB
Raw Blame History

自定义 Token 风格

本篇介绍token生成的各种风格以及自定义token生成策略


内置风格

Sa-Token默认的token生成策略是uuid风格其模样类似于623368f0-ae5e-4475-a53f-93e4225f16ae
如果你对这种风格不太感冒还可以将token生成设置为其他风格

怎么设置呢只需要在yml配置文件里设置 sa-token.token-style=风格类型 即可,其有多种取值:

// 1. token-style=uuid    —— uuid风格 (默认风格)
"623368f0-ae5e-4475-a53f-93e4225f16ae"

// 2. token-style=simple-uuid    —— 同上uuid风格, 只不过去掉了中划线
"6fd4221395024b5f87edd34bc3258ee8"

// 3. token-style=random-32    —— 随机32位字符串
"qEjyPsEA1Bkc9dr8YP6okFr5umCZNR6W"

// 4. token-style=random-64    —— 随机64位字符串
"v4ueNLEpPwMtmOPMBtOOeIQsvP8z9gkMgIVibTUVjkrNrlfra5CGwQkViDjO8jcc"

// 5. token-style=random-128    —— 随机128位字符串
"nojYPmcEtrFEaN0Otpssa8I8jpk8FO53UcMZkCP9qyoHaDbKS6dxoRPky9c6QlftQ0pdzxRGXsKZmUSrPeZBOD6kJFfmfgiRyUmYWcj4WU4SSP2ilakWN1HYnIuX0Olj"

// 6. token-style=tik    —— tik风格
"gr_SwoIN0MC1ewxHX_vfCW3BothWDZMMtx__"

自定义token生成策略

如果你觉着以上风格都不是你喜欢的类型,那么你还可以自定义token生成策略来定制化token生成风格

怎么做呢?只需要重写SaTokenAction接口的createToken方法即可

参考步骤如下:

1、新建文件MySaTokenAction.java,继承SaTokenActionDefaultImpl默认实现类, 并添加上注解@Component,保证此类被springboot扫描到

package com.pj.satoken;

import org.springframework.stereotype.Component;
import cn.dev33.satoken.action.SaTokenActionDefaultImpl;

/**
 * 继承Sa-Token行为Bean默认实现, 重写部分逻辑 
 */
@Component
public class MySaTokenAction extends SaTokenActionDefaultImpl {
	// 重写token生成策略 
	@Override
	public String createToken(Object loginId, String loginType) {
		return SaFoxUtil.getRandomString(60);	// 随机60位字符串
	}
}

2、再次调用 StpUtil.login(10001)方法进行登录观察其生成的token样式:

gfuPSwZsnUhwgz08GTCH4wOgasWtc3odP4HLwXJ7NDGOximTvT4OlW19zeLH