Commit 2d97a408 by sikang

add header sign

parent 4898b129
...@@ -5,12 +5,10 @@ ...@@ -5,12 +5,10 @@
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!--写入SD卡--> <!--写入SD卡-->
<uses-permission <uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
tools:node="remove" />
<!--读取SD卡--> <!--读取SD卡-->
<uses-permission <uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" android:name="android.permission.READ_EXTERNAL_STORAGE" />
tools:node="remove" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--相机--> <!--相机-->
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
......
...@@ -20,9 +20,19 @@ public class DisplayBean implements Serializable { ...@@ -20,9 +20,19 @@ public class DisplayBean implements Serializable {
private String advanceFaceRecognitionSecretKey; private String advanceFaceRecognitionSecretKey;
private String advancePictureQualityAccessKey; private String advancePictureQualityAccessKey;
private String advancePictureQualitySecretKey; private String advancePictureQualitySecretKey;
private String restUrlSignKey;
private AccountKitInfo accountKitInfo; private AccountKitInfo accountKitInfo;
public String getRestUrlSignKey() {
return restUrlSignKey;
}
public void setRestUrlSignKey(String restUrlSignKey) {
this.restUrlSignKey = restUrlSignKey;
}
public class AccountKitInfo implements Serializable { public class AccountKitInfo implements Serializable {
String applicationId; String applicationId;
String applicationSecret; String applicationSecret;
......
package tech.starwin.network; package tech.starwin.network;
import android.os.Build;
import android.text.TextUtils; import android.text.TextUtils;
import com.common.toolbox.app_utils.DeviceInfo; import com.common.toolbox.app_utils.DeviceInfo;
import com.common.toolbox.app_utils.RequestHandler;
import com.facebook.libfbref.FbDeepLink; import com.facebook.libfbref.FbDeepLink;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
import okhttp3.FormBody;
import okhttp3.Headers; import okhttp3.Headers;
import okhttp3.Interceptor; import okhttp3.Interceptor;
import okhttp3.Request; import okhttp3.Request;
...@@ -27,29 +31,61 @@ public class FirebaseHeaderInterceptor implements Interceptor { ...@@ -27,29 +31,61 @@ public class FirebaseHeaderInterceptor implements Interceptor {
@Override @Override
public Response intercept(Chain chain) throws IOException { public Response intercept(Chain chain) throws IOException {
Request newRequest = chain.request(); Request request = chain.request();
try { try {
if (newRequest != null) { if (request != null) {
Request.Builder builder = chain.request().newBuilder();
String referrer = FbDeepLink.getFbReferrer(); String referrer = FbDeepLink.getFbReferrer();
Request.Builder builder = chain.request().newBuilder();
LogUtils.d(TAG, "android_id: " + AppInfoUtils.getAndroidID(LibConfig.getContext()));
builder.addHeader("X-REFERRER", TextUtils.isEmpty(referrer) ? PreferencesManager.get().getInstallReferrer() : referrer) builder.addHeader("X-REFERRER", TextUtils.isEmpty(referrer) ? PreferencesManager.get().getInstallReferrer() : referrer)
.addHeader("X-REFERRER-SDK", TextUtils.isEmpty(referrer) ? PreferencesManager.get().getInstallReferrerFromSDK() : referrer) .addHeader("X-REFERRER-SDK", TextUtils.isEmpty(referrer) ? PreferencesManager.get().getInstallReferrerFromSDK() : referrer)
.addHeader("X-ANDROID-ID", AppInfoUtils.getAndroidID(LibConfig.getContext())) .addHeader("X-ANDROID-ID", AppInfoUtils.getAndroidID(LibConfig.getContext()));
.addHeader("X-DEVICE-SIGN", DeviceInfo.getSignFromHardware())
.addHeader("X-SD-SIGN", DeviceInfo.getDeviceSignFromSD()); String secretKey = PreferencesManager.get().getCustomerInfo().getRestUrlSignKey();
newRequest = builder.build(); // //取出post参数
LogUtils.d("HttpHeaders",newRequest.headers().toString()); // HashMap<String, String> paramsMap = null;
// if (request.body() instanceof FormBody) {
// FormBody body = (FormBody) request.body();
// paramsMap = new HashMap<>();
// for (int i = 0; i < body.size(); i++) {
// paramsMap.put(body.encodedName(i), body.encodedValue(i));
// }
// }
// //签名处理
// RequestHandler handler = new RequestHandler.Builder(secretKey)
// .headerDeviceSign(DeviceInfo.getSignFromHardware())
// .headerSDSign(DeviceInfo.getDeviceSignFromSD())
// .parameters(request.url().toString(), paramsMap)
// .build();
//
// //添加header
// builder.addHeader("X-SD-SIGN", DeviceInfo.getDeviceSignFromSD()) //SD卡指纹
// .addHeader("X-DEVICE-SIGN", DeviceInfo.getSignFromHardware()) //设备指纹
// .addHeader("X-SDK-VERSION", String.valueOf(Build.VERSION.SDK_INT)) //Android SDK 版本
// .addHeader("X-HAEDWARE-INFO", DeviceInfo.getHardwareInfo()) //硬件信息
// .addHeader("X-APP-SIGN", handler.getHeaderSignature()) // Header 签名
// .addHeader("X-APP-RANDOM", handler.getRandom());// 随机串
//header签名
new RequestHandler.Builder(secretKey)
.headerDeviceSign(DeviceInfo.getSignFromHardware())
.headerSDSign(DeviceInfo.getDeviceSignFromSD())
.bindHttpBuilder(request,builder)
.build().signHeaders();
request = builder.build();
LogUtils.d("HttpHeaders", request.headers().toString());
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
//UploadManager.uploadException(e, "FirebaseHeaderInterceptor.intercept"); //UploadManager.uploadException(e, "FirebaseHeaderInterceptor.intercept");
} }
return chain.proceed(newRequest); return chain.proceed(request);
} }
private static boolean existHeader(Headers headers, String header) { private static boolean existHeader(Headers headers, String header) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment