mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-12-21 19:09:45 +08:00
Id-Token 模块更名为 Same-Token
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package cn.dev33.satoken.context.grpc.constants;
|
||||
|
||||
import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.same.SaSameUtil;
|
||||
import cn.dev33.satoken.util.SaTokenConsts;
|
||||
import io.grpc.Metadata;
|
||||
|
||||
@@ -11,8 +11,8 @@ import io.grpc.Metadata;
|
||||
* @since: 2022/8/26 14:27
|
||||
*/
|
||||
public class GrpcContextConstants {
|
||||
public static final Metadata.Key<String> SA_ID_TOKEN =
|
||||
Metadata.Key.of(SaIdUtil.ID_TOKEN, Metadata.ASCII_STRING_MARSHALLER);
|
||||
public static final Metadata.Key<String> SA_SAME_TOKEN =
|
||||
Metadata.Key.of(SaSameUtil.SAME_TOKEN, Metadata.ASCII_STRING_MARSHALLER);
|
||||
|
||||
public static final Metadata.Key<String> SA_JUST_CREATED_NOT_PREFIX =
|
||||
Metadata.Key.of(SaTokenConsts.JUST_CREATED_NOT_PREFIX, Metadata.ASCII_STRING_MARSHALLER);
|
||||
|
||||
@@ -1,14 +1,23 @@
|
||||
package cn.dev33.satoken.context.grpc.interceptor;
|
||||
|
||||
import org.springframework.core.Ordered;
|
||||
|
||||
import cn.dev33.satoken.SaManager;
|
||||
import cn.dev33.satoken.context.SaTokenContextDefaultImpl;
|
||||
import cn.dev33.satoken.context.grpc.constants.GrpcContextConstants;
|
||||
import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.same.SaSameUtil;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.dev33.satoken.util.SaFoxUtil;
|
||||
import io.grpc.*;
|
||||
import io.grpc.CallOptions;
|
||||
import io.grpc.Channel;
|
||||
import io.grpc.ClientCall;
|
||||
import io.grpc.ClientInterceptor;
|
||||
import io.grpc.ForwardingClientCall;
|
||||
import io.grpc.ForwardingClientCallListener;
|
||||
import io.grpc.Metadata;
|
||||
import io.grpc.MethodDescriptor;
|
||||
import io.grpc.Status;
|
||||
import net.devh.boot.grpc.client.interceptor.GrpcGlobalClientInterceptor;
|
||||
import org.springframework.core.Ordered;
|
||||
|
||||
|
||||
/**
|
||||
@@ -26,9 +35,9 @@ public class SaTokenGrpcClientInterceptor implements ClientInterceptor, Ordered
|
||||
@Override
|
||||
public void start(Listener<RespT> responseListener, Metadata headers) {
|
||||
|
||||
// 追加 Id-Token 参数
|
||||
if (SaManager.getConfig().getCheckIdToken()) {
|
||||
headers.put(GrpcContextConstants.SA_ID_TOKEN, SaIdUtil.getToken());
|
||||
// 追加 Same-Token 参数
|
||||
if (SaManager.getConfig().getCheckSameToken()) {
|
||||
headers.put(GrpcContextConstants.SA_SAME_TOKEN, SaSameUtil.getToken());
|
||||
}
|
||||
|
||||
// 调用前,传递会话Token
|
||||
|
||||
@@ -2,10 +2,15 @@ package cn.dev33.satoken.context.grpc.interceptor;
|
||||
|
||||
import cn.dev33.satoken.SaManager;
|
||||
import cn.dev33.satoken.context.grpc.constants.GrpcContextConstants;
|
||||
import cn.dev33.satoken.id.SaIdUtil;
|
||||
import cn.dev33.satoken.same.SaSameUtil;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.dev33.satoken.util.SaFoxUtil;
|
||||
import io.grpc.*;
|
||||
import io.grpc.ForwardingServerCall;
|
||||
import io.grpc.Metadata;
|
||||
import io.grpc.ServerCall;
|
||||
import io.grpc.ServerCallHandler;
|
||||
import io.grpc.ServerInterceptor;
|
||||
import io.grpc.Status;
|
||||
import net.devh.boot.grpc.server.interceptor.GrpcGlobalServerInterceptor;
|
||||
|
||||
/**
|
||||
@@ -19,9 +24,9 @@ public class SaTokenGrpcServerInterceptor implements ServerInterceptor {
|
||||
@Override
|
||||
public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(ServerCall<ReqT, RespT> call, Metadata headers, ServerCallHandler<ReqT, RespT> next) {
|
||||
// RPC 调用鉴权
|
||||
if (SaManager.getConfig().getCheckIdToken()) {
|
||||
String idToken = headers.get(GrpcContextConstants.SA_ID_TOKEN);
|
||||
SaIdUtil.checkToken(idToken);
|
||||
if (SaManager.getConfig().getCheckSameToken()) {
|
||||
String sameToken = headers.get(GrpcContextConstants.SA_SAME_TOKEN);
|
||||
SaSameUtil.checkToken(sameToken);
|
||||
}
|
||||
String tokenFromClient = headers.get(GrpcContextConstants.SA_JUST_CREATED_NOT_PREFIX);
|
||||
StpUtil.setTokenValue(tokenFromClient);
|
||||
|
||||
Reference in New Issue
Block a user