EmailAuthenticationToken.kt
package io.github.lishangbu.avalon.oauth2.authorizationserver.authentication
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken
import org.springframework.security.core.GrantedAuthority
/**
* 邮箱验证码登录令牌
*
* 在认证前承载邮箱与验证码,在认证后承载已登录用户与权限
*/
class EmailAuthenticationToken : UsernamePasswordAuthenticationToken {
/** 使用邮箱与验证码创建未认证令牌 */
constructor(email: String, emailCode: String) : super(email, emailCode)
/** 使用认证结果与权限创建已认证令牌 */
constructor(
principal: Any?,
credentials: Any?,
authorities: Collection<GrantedAuthority>,
) : super(principal ?: "", credentials ?: "", authorities)
}