mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-05 12:23:29 +08:00
feat: 优化token逻辑,ParsedToken增加应用到httpHeader功能.
This commit is contained in:
@@ -15,7 +15,7 @@ public class BearerTokenParser implements ReactiveUserTokenParser {
|
||||
.getFirst(HttpHeaders.AUTHORIZATION);
|
||||
|
||||
if (token != null && token.startsWith("Bearer ")) {
|
||||
return Mono.just(ParsedToken.of("bearer", token.substring(7)));
|
||||
return Mono.just(ParsedToken.ofBearer(token.substring(7)));
|
||||
}
|
||||
return Mono.empty();
|
||||
}
|
||||
|
||||
@@ -19,8 +19,11 @@ public class DefaultUserTokenGenPar implements ReactiveUserTokenGenerator, React
|
||||
|
||||
private long timeout = TimeUnit.MINUTES.toMillis(30);
|
||||
|
||||
@SuppressWarnings("all")
|
||||
private String headerName = "X-Access-Token";
|
||||
|
||||
private String parameterName = ":X_Access_Token";
|
||||
|
||||
@Override
|
||||
public String getTokenType() {
|
||||
return "default";
|
||||
@@ -58,10 +61,10 @@ public class DefaultUserTokenGenPar implements ReactiveUserTokenGenerator, React
|
||||
String token = Optional.ofNullable(exchange.getRequest()
|
||||
.getHeaders()
|
||||
.getFirst(headerName))
|
||||
.orElseGet(() -> exchange.getRequest().getQueryParams().getFirst(":X_Access_Token"));
|
||||
.orElseGet(() -> exchange.getRequest().getQueryParams().getFirst(parameterName));
|
||||
if (token == null) {
|
||||
return Mono.empty();
|
||||
}
|
||||
return Mono.just(ParsedToken.of(getTokenType(),token));
|
||||
return Mono.just(ParsedToken.of(getTokenType(),token,(_header,_token)->_header.set(headerName,_token)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user