Client calls revoke-token endpoint on logout
This commit is contained in:
parent
5a7eecdd56
commit
dadc90bca2
|
@ -29,6 +29,7 @@ type UserLoginWithUserInformation = UserLoginWithUsername & User
|
||||||
export class AuthService {
|
export class AuthService {
|
||||||
private static BASE_CLIENT_URL = environment.apiUrl + '/api/v1/oauth-clients/local'
|
private static BASE_CLIENT_URL = environment.apiUrl + '/api/v1/oauth-clients/local'
|
||||||
private static BASE_TOKEN_URL = environment.apiUrl + '/api/v1/users/token'
|
private static BASE_TOKEN_URL = environment.apiUrl + '/api/v1/users/token'
|
||||||
|
private static BASE_REVOKE_TOKEN_URL = environment.apiUrl + '/api/v1/users/revoke-token'
|
||||||
private static BASE_USER_INFORMATION_URL = environment.apiUrl + '/api/v1/users/me'
|
private static BASE_USER_INFORMATION_URL = environment.apiUrl + '/api/v1/users/me'
|
||||||
private static LOCAL_STORAGE_OAUTH_CLIENT_KEYS = {
|
private static LOCAL_STORAGE_OAUTH_CLIENT_KEYS = {
|
||||||
CLIENT_ID: 'client_id',
|
CLIENT_ID: 'client_id',
|
||||||
|
@ -170,7 +171,17 @@ export class AuthService {
|
||||||
}
|
}
|
||||||
|
|
||||||
logout () {
|
logout () {
|
||||||
// TODO: make an HTTP request to revoke the tokens
|
const authHeaderValue = this.getRequestHeaderValue()
|
||||||
|
const headers = new HttpHeaders().set('Authorization', authHeaderValue)
|
||||||
|
|
||||||
|
this.http.post<void>(AuthService.BASE_REVOKE_TOKEN_URL, {}, { headers })
|
||||||
|
.subscribe(
|
||||||
|
() => { /* nothing to do */ },
|
||||||
|
|
||||||
|
err => console.error(err)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
this.user = null
|
this.user = null
|
||||||
|
|
||||||
AuthUser.flush()
|
AuthUser.flush()
|
||||||
|
|
|
@ -149,6 +149,6 @@ function handleAuthInPlugin (req: express.Request, res: express.Response) {
|
||||||
logger.debug('Forwarding auth plugin request in %s of plugin %s.', authOptions.authName, res.locals.registeredPlugin.npmName)
|
logger.debug('Forwarding auth plugin request in %s of plugin %s.', authOptions.authName, res.locals.registeredPlugin.npmName)
|
||||||
authOptions.onAuthRequest(req, res)
|
authOptions.onAuthRequest(req, res)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
logger.error('Forward request error in auth %s of plugin %s.', authOptions.authName, res.locals.registeredPlugin.npmName)
|
logger.error('Forward request error in auth %s of plugin %s.', authOptions.authName, res.locals.registeredPlugin.npmName, { err })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ async function handleTokenRevocation (req: express.Request, res: express.Respons
|
||||||
// }
|
// }
|
||||||
// })
|
// })
|
||||||
|
|
||||||
return res.sendStatus(200)
|
return res.json()
|
||||||
}
|
}
|
||||||
|
|
||||||
async function onExternalUserAuthenticated (options: {
|
async function onExternalUserAuthenticated (options: {
|
||||||
|
|
Loading…
Reference in New Issue