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 org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import io.jsonwebtoken.Claims;
|
||||
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.utility.UtilityDate;
|
||||
import it.integry.integrywmsnative.gest.login.rest.RefreshRESTConsumer;
|
||||
@ -49,10 +45,8 @@ public class AuthInterceptor implements Interceptor {
|
||||
.setRefreshTokenExpiryDate(response.getExpiryDate());
|
||||
|
||||
SettingsManager.update();
|
||||
} catch (UnauthorizedAccessException uae) {
|
||||
//Globally managed
|
||||
} 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 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 HttpUrl url = request.url().newBuilder()
|
||||
.addQueryParameter("profileDb", PROFILE_DB)
|
||||
@ -38,9 +31,17 @@ public class HttpInterceptor implements Interceptor {
|
||||
.addHeader("Accept", "*/*")
|
||||
.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)
|
||||
builder
|
||||
.addHeader("Authorization", "Bearer " + accessToken);
|
||||
builder.header("Authorization", "Bearer " + accessToken);
|
||||
|
||||
var newRequest = builder
|
||||
.url(url)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user