Fix AuthInterceptor
This commit is contained in:
parent
c5d09b0d8b
commit
91bca90e5d
@ -24,35 +24,40 @@ public class AuthInterceptor implements Interceptor {
|
|||||||
@Override
|
@Override
|
||||||
public Response intercept(@NonNull Chain chain) throws IOException {
|
public Response intercept(@NonNull Chain chain) throws IOException {
|
||||||
var originalRequest = chain.request();
|
var originalRequest = chain.request();
|
||||||
var accessToken = SettingsManager.i().getUserSession().getAccessToken();
|
|
||||||
var accessTokenExpiryDate = SettingsManager.i().getUserSession().getAccessTokenExpiryDate();
|
|
||||||
|
|
||||||
if(accessToken != null && (accessTokenExpiryDate == null || UtilityDate.getNowTime().isAfter(accessTokenExpiryDate))) {
|
if(SettingsManager.i().getUserSession() != null) {
|
||||||
|
|
||||||
// Make the token refresh request
|
var accessToken = SettingsManager.i().getUserSession().getAccessToken();
|
||||||
try {
|
var accessTokenExpiryDate = SettingsManager.i().getUserSession().getAccessTokenExpiryDate();
|
||||||
var response = refreshRESTConsumer.makeSynchronousRefreshTokenRequest();
|
|
||||||
|
|
||||||
JWT jwt = new JWT(response.getAccessToken());
|
if (accessToken != null && (accessTokenExpiryDate == null || UtilityDate.getNowTime().isAfter(accessTokenExpiryDate))) {
|
||||||
|
|
||||||
SettingsManager.i().getUserSession()
|
// Make the token refresh request
|
||||||
.setAccessToken(response.getAccessToken())
|
try {
|
||||||
.setAccessTokenExpiryDate(UtilityDate.toLocalDateTime(jwt.getExpiresAt()))
|
var response = refreshRESTConsumer.makeSynchronousRefreshTokenRequest();
|
||||||
.setRefreshToken(response.getRefreshToken())
|
|
||||||
.setRefreshTokenExpiryDate(response.getExpiryDate());
|
|
||||||
|
|
||||||
SettingsManager.update();
|
JWT jwt = new JWT(response.getAccessToken());
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
SettingsManager.i().getUserSession()
|
||||||
}
|
.setAccessToken(response.getAccessToken())
|
||||||
|
.setAccessTokenExpiryDate(UtilityDate.toLocalDateTime(jwt.getExpiresAt()))
|
||||||
|
.setRefreshToken(response.getRefreshToken())
|
||||||
|
.setRefreshTokenExpiryDate(response.getExpiryDate());
|
||||||
|
|
||||||
|
SettingsManager.update();
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Add the access token to the request header
|
// Add the access token to the request header
|
||||||
var authorizedRequest = originalRequest.newBuilder()
|
var authorizedRequest = originalRequest.newBuilder()
|
||||||
.header("Authorization", "Bearer " + SettingsManager.i().getUserSession().getAccessToken())
|
.header("Authorization", "Bearer " + SettingsManager.i().getUserSession().getAccessToken())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
return chain.proceed(authorizedRequest);
|
return chain.proceed(authorizedRequest);
|
||||||
|
} else
|
||||||
|
return chain.proceed(originalRequest);
|
||||||
} else
|
} else
|
||||||
return chain.proceed(originalRequest);
|
return chain.proceed(originalRequest);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user