#typescript #loopback4
#typescript #loopback4
Вопрос:
есть ли какой-либо четкий пример выхода из конечного API, который позволяет удалять токен, сохраненный при входе в систему, вместо того, чтобы выходить из системы с помощью веб-браузера?
я предполагаю, что нет никакой документации о том, как петля генерирует пользователя по умолчанию при создании нового проекта
this is my endpoint Login and it works :
@post('/users/sessions', {
responses: {
'200': {
description: 'Token',
content: {
'application/json': {
schema: {
type: 'object',
properties: {
token: {
type: 'string',
},
},
},
},
},
},
},
})
async login(
@requestBody(CredentialsRequestBody) credentials: Credentials,
) {
// ensure the user exists, and the password is correct
const user = await this.userService.verifyCredentials(credentials);
// convert a User object into a UserProfile object (reduced set of properties)
const userProfile = this.userService.convertToUserProfile(user);
// create a JSON Web Token based on the user profile
const token = await this.jwtService.generateToken(userProfile);
// declare the returned properties based on Model User
const { firstName, lastName, email, id, roles, entreprise, entrepriseId, adress, CIN, phoneNumber } = user;
return {
token,
firstName,
lastName,
email,
id,
roles,
entreprise,
entrepriseId,
adress,
CIN,
phoneNumber
};
}
есть ли какой-либо HTTP-метод выхода из системы?
Ответ №1:
@get('/logout', {
responses: {
'204': {
description: 'Logout',
content: {'application/json': {schema: getModelSchemaRef(User)}},
},
},
})
async logout(
@inject(AuthenticationBindings.CURRENT_USER)
currentUser: UserProfile,
): Promise<void> {
await this.userRepository.updateById(currentUser.id, {
roleid: '',
});
}
}