OAuth2EmailAuthorizationGrantAuthenticationToken.kt
package org.springframework.security.oauth2.server.authorization.authentication
import io.github.lishangbu.avalon.oauth2.common.core.AuthorizationGrantTypeSupport
import org.springframework.security.core.Authentication
/**
* OAuth2 邮箱授权认证令牌
*
* 封装邮箱验证码授权请求中的邮箱、验证码和附加参数
*/
class OAuth2EmailAuthorizationGrantAuthenticationToken(
/** 邮箱 */
val email: String,
/** 邮箱验证码 */
val emailCode: String,
clientPrincipal: Authentication,
scopes: Set<String>?,
additionalParameters: Map<String, Any>,
) : OAuth2AuthorizationGrantAuthenticationToken(
AuthorizationGrantTypeSupport.EMAIL,
clientPrincipal,
additionalParameters,
) {
/** 授权范围 */
val scopes: Set<String> = java.util.Set.copyOf(scopes.orEmpty())
}