Fix su gestione access token negli interceptor
This commit is contained in:
parent
526bc11626
commit
f85f5d63a6
@ -2,14 +2,10 @@ package it.integry.integrywmsnative.core.rest;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import io.jsonwebtoken.Claims;
|
import io.jsonwebtoken.Claims;
|
||||||
import it.integry.integrywmsnative.core.authentication.JwtUtils;
|
import it.integry.integrywmsnative.core.authentication.JwtUtils;
|
||||||
import it.integry.integrywmsnative.core.event.SessionExpiredEvent;
|
|
||||||
import it.integry.integrywmsnative.core.exception.UnauthorizedAccessException;
|
|
||||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||||
import it.integry.integrywmsnative.gest.login.rest.RefreshRESTConsumer;
|
import it.integry.integrywmsnative.gest.login.rest.RefreshRESTConsumer;
|
||||||
@ -49,10 +45,8 @@ public class AuthInterceptor implements Interceptor {
|
|||||||
.setRefreshTokenExpiryDate(response.getExpiryDate());
|
.setRefreshTokenExpiryDate(response.getExpiryDate());
|
||||||
|
|
||||||
SettingsManager.update();
|
SettingsManager.update();
|
||||||
} catch (UnauthorizedAccessException uae) {
|
|
||||||
//Globally managed
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
return chain.proceed(originalRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -69,9 +63,4 @@ public class AuthInterceptor implements Interceptor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void notifySessionExpired() {
|
|
||||||
EventBus.getDefault().post(new SessionExpiredEvent());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,13 +21,6 @@ public class HttpInterceptor implements Interceptor {
|
|||||||
final String PROFILE_DB = SettingsManager.i().getUserSession() == null ? null : SettingsManager.i().getUserSession().getProfileDB();
|
final String PROFILE_DB = SettingsManager.i().getUserSession() == null ? null : SettingsManager.i().getUserSession().getProfileDB();
|
||||||
final String APP_TOKEN = "fa3a21af-606b-4129-a22b-aedc2a52c7b6";
|
final String APP_TOKEN = "fa3a21af-606b-4129-a22b-aedc2a52c7b6";
|
||||||
|
|
||||||
String accessToken = null;
|
|
||||||
|
|
||||||
if(SettingsManager.i().getUserSession().getAccessTokenExpiryDate() != null &&
|
|
||||||
UtilityDate.getNowTime().isBefore(SettingsManager.i().getUserSession().getAccessTokenExpiryDate())) {
|
|
||||||
accessToken = SettingsManager.i().getUserSession().getAccessToken();
|
|
||||||
}
|
|
||||||
|
|
||||||
final Request request = chain.request();
|
final Request request = chain.request();
|
||||||
final HttpUrl url = request.url().newBuilder()
|
final HttpUrl url = request.url().newBuilder()
|
||||||
.addQueryParameter("profileDb", PROFILE_DB)
|
.addQueryParameter("profileDb", PROFILE_DB)
|
||||||
@ -38,9 +31,17 @@ public class HttpInterceptor implements Interceptor {
|
|||||||
.addHeader("Accept", "*/*")
|
.addHeader("Accept", "*/*")
|
||||||
.addHeader("x-app-token", APP_TOKEN);
|
.addHeader("x-app-token", APP_TOKEN);
|
||||||
|
|
||||||
|
|
||||||
|
String accessToken = null;
|
||||||
|
|
||||||
|
//Nel caso in cui il token è scaduto e devo richiamare la refresh non bisogna passare il vecchio token
|
||||||
|
if(SettingsManager.i().getUserSession().getAccessTokenExpiryDate() != null &&
|
||||||
|
UtilityDate.getNowTime().isBefore(SettingsManager.i().getUserSession().getAccessTokenExpiryDate())) {
|
||||||
|
accessToken = SettingsManager.i().getUserSession().getAccessToken();
|
||||||
|
}
|
||||||
|
|
||||||
if(accessToken != null)
|
if(accessToken != null)
|
||||||
builder
|
builder.header("Authorization", "Bearer " + accessToken);
|
||||||
.addHeader("Authorization", "Bearer " + accessToken);
|
|
||||||
|
|
||||||
var newRequest = builder
|
var newRequest = builder
|
||||||
.url(url)
|
.url(url)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user