O REST 2.0, a partir da Lib 20230227, ao tentar login com usuário cuja senha está expirada, retorna HTTP 302 com header Location apontando para a API de troca de senha (/api/framework/v1/changepassworduserservice). Para trocar a senha, deve-se enviar um POST com JSON contendo usuário, senha atual e nova senha.
Tempo aproximado para leitura: 00:01:00 min
Dúvida
Qual é o comportamento do REST 2.0 ao realizar login (via Basic ou JWT) com um usuário que possui a senha expirada?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - A partir da Lib 20230227
Solução
O REST 2.0 teve seu comportamento alterado para a autenticação de usuários que estão com a senha expirada.
Anteriormente, ao fazer o login via Basic ou gerar o JWT via API, mesmo com a senha expirada, o login era bem-sucedido. A partir da Lib 20230227, ao efetuar o login nessas condições, o REST retornará um status HTTP 302. O header da resposta conterá o parâmetro Location apontando para a API oficial de troca de senha: /api/framework/v1/changepassworduserservice.
Para realizar a troca, a API de destino deve ser consumida enviando as credenciais necessárias.
Passos
Configure a requisição para a API de troca de senha utilizando exclusivamente o método POST na rota
/api/framework/v1/changepassworduserservice.No corpo (body) da requisição, envie o usuário, a senha atual e a nova senha respeitando a seguinte estrutura JSON:
JSON
{
"user": "string",
"oldPassword": "string",
"newPassword": "string"
}
Saiba mais
Troca de senha REST 2.0.
Conceitos sobre WebServices
Configuração básica REST do protheus
0 Comentários