пользовательский цикл выхода из api 4

#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: '',
    });
  }
}