|
@@ -0,0 +1,37 @@
|
|
|
|
+package com.qmth.boot.core.retrofit.utils;
|
|
|
|
+
|
|
|
|
+import com.qmth.boot.core.retrofit.interfaces.SignatureProvider;
|
|
|
|
+import com.qmth.boot.tools.signature.SignatureType;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 基于ThreadLocal的动态签名信息容器
|
|
|
|
+ */
|
|
|
|
+public class ThreadLocalSignatureProvider implements SignatureProvider {
|
|
|
|
+
|
|
|
|
+ private ThreadLocal<SignatureType> signatureType = new ThreadLocal<>();
|
|
|
|
+
|
|
|
|
+ private ThreadLocal<String> identity = new ThreadLocal<>();
|
|
|
|
+
|
|
|
|
+ private ThreadLocal<String> secret = new ThreadLocal<>();
|
|
|
|
+
|
|
|
|
+ public void setValue(SignatureType type, String identity, String secret) {
|
|
|
|
+ this.signatureType.set(type);
|
|
|
|
+ this.identity.set(identity);
|
|
|
|
+ this.secret.set(secret);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public SignatureType getType() {
|
|
|
|
+ return signatureType.get();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public String getIdentity() {
|
|
|
|
+ return identity.get();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public String getSecret() {
|
|
|
|
+ return secret.get();
|
|
|
|
+ }
|
|
|
|
+}
|