fix refresh token fail
This commit is contained in:
parent
9441f0f326
commit
36a8936a95
|
@ -235,20 +235,11 @@ public class UserQuery extends QueryBase<UserEntity> {
|
|||
if (this.userScope.isSet()) userId = this.userScope.getUserIdSafe();
|
||||
else throw new MyNotFoundException("Only user scoped allowed");
|
||||
|
||||
Subquery<UUID> dmpUserDmpQuery = this.queryUtilsService.buildSubQuery(new BuildSubQueryInput<>(
|
||||
new BuildSubQueryInput.Builder<>(DmpUserEntity.class, UUID.class, queryContext)
|
||||
.keyPathFunc((subQueryRoot) -> subQueryRoot.get(DmpUserEntity._dmpId))
|
||||
.filterFunc((subQueryRoot, cb) -> cb.and(
|
||||
cb.equal(subQueryRoot.get(DmpUserEntity._userId), userId),
|
||||
cb.equal(subQueryRoot.get(DmpUserEntity._isActive), IsActive.Active)
|
||||
))
|
||||
));
|
||||
|
||||
Subquery<UUID> dmpUserUserQuery = this.queryUtilsService.buildSubQuery(new BuildSubQueryInput<>(
|
||||
new BuildSubQueryInput.Builder<>(DmpUserEntity.class, UUID.class, queryContext)
|
||||
.keyPathFunc((subQueryRoot) -> subQueryRoot.get(DmpUserEntity._userId))
|
||||
.filterFunc((subQueryRoot, cb) -> cb.and(
|
||||
cb.in(subQueryRoot.get(DmpUserEntity._dmpId)).value(dmpUserDmpQuery) ,
|
||||
cb.in(subQueryRoot.get(DmpUserEntity._dmpId)).value(this.queryUtilsService.buildDmpAuthZSubQuery(queryContext.Query, queryContext.CriteriaBuilder, userId, false)) ,
|
||||
cb.equal(subQueryRoot.get(DmpUserEntity._isActive), IsActive.Active)
|
||||
))
|
||||
));
|
||||
|
|
|
@ -262,7 +262,16 @@ export class AuthService extends BaseService {
|
|||
if (
|
||||
e.type === KeycloakEventType.OnTokenExpired
|
||||
) {
|
||||
this.refreshToken({});
|
||||
this.refreshToken({}).then((isRefreshed) => {
|
||||
if (!isRefreshed) {
|
||||
this.clear();
|
||||
}
|
||||
|
||||
return isRefreshed;
|
||||
}).catch(x => {
|
||||
this.clear();
|
||||
throw x;
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
|
@ -275,7 +284,7 @@ export class AuthService extends BaseService {
|
|||
}
|
||||
|
||||
public refreshToken(httpParams?: Object): Promise<boolean> {
|
||||
return this.keycloakService.updateToken(60).then((isRefreshed) => {
|
||||
return this.keycloakService.updateToken().then((isRefreshed) => {
|
||||
if (!isRefreshed) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -48,6 +48,9 @@ export class UnauthorizedResponseInterceptor extends BaseInterceptor {
|
|||
}
|
||||
|
||||
return true;
|
||||
}).catch(x => {
|
||||
this.logoutUser();
|
||||
return false;
|
||||
})
|
||||
).pipe(filter((x) => x));
|
||||
}
|
||||
|
@ -65,8 +68,10 @@ export class UnauthorizedResponseInterceptor extends BaseInterceptor {
|
|||
}
|
||||
|
||||
private logoutUser() {
|
||||
//this.authService.clear();
|
||||
if (!this.isLoginRoute() && !this.isSignupRoute()) { this.router.navigate(['/unauthorized']); }
|
||||
if (!this.isLoginRoute() && !this.isSignupRoute()) {
|
||||
this.authService.clear();
|
||||
this.router.navigate(['/unauthorized']);
|
||||
}
|
||||
}
|
||||
|
||||
private isLoginRoute(): boolean {
|
||||
|
|
Loading…
Reference in New Issue