com.github.yingzhuo.spring.security.jwt.parser.JwtTokenParser Maven / Gradle / Ivy
/* _ _ _ _ _
* ___ _ __ _ __(_)_ __ __ _ ___ ___ ___ _ _ _ __(_) |_ _ _ _ __ __ _| |_ ___| |__
* / __| '_ \| '__| | '_ \ / _` |_____/ __|/ _ \/ __| | | | '__| | __| | | |_____| '_ \ / _` | __/ __| '_ \
* \__ \ |_) | | | | | | | (_| |_____\__ \ __/ (__| |_| | | | | |_| |_| |_____| |_) | (_| | || (__| | | |
* |___/ .__/|_| |_|_| |_|\__, | |___/\___|\___|\__,_|_| |_|\__|\__, | | .__/ \__,_|\__\___|_| |_|
* |_| |___/ |___/ |_|
*
* https://github.com/yingzhuo/spring-security-patch
*/
package com.github.yingzhuo.spring.security.jwt.parser;
import com.github.yingzhuo.spring.security.jwt.JwtToken;
import org.springframework.lang.NonNull;
import org.springframework.lang.Nullable;
import org.springframework.web.context.request.NativeWebRequest;
import java.util.Optional;
/**
* @author 应卓
* @since 1.0.0
*/
@FunctionalInterface
public interface JwtTokenParser {
@NonNull
public Optional parse(NativeWebRequest request);
@Nullable
public default String parseAsString(NativeWebRequest request) {
return parse(request).map(JwtToken::getRawToken).orElse(null);
}
}