Com o oAuth2 o acesso do cliente a uma API é feito mediante ao envio de um token no header da requisição a mesma.
Esse código de acesso ou Access Token é gerado por um servidor de autorização(Authorization Server) determinado pelo dono da aplicação(Resource Owner) sem que o cliente precise efetuar um cadastro prévio.
Nesta implementação o cliente deve fazer uma chamada POST a API TlppCore através do endereço “/tlpp/oauth2/token” enviando os seguintes parâmetros:
- grant_type - "password"
- username - nome do usuário
- password - senha do usuário
Obedecendo a convenção de envio de parâmetros adotada (“QueryParams”), o exemplo do endpoint fica desta forma:
https://localhost:1234/tlpp/oauth2/token?grant_type=password&username=nomedousuario&password=senhadousuario
Assim que é chegada a requisição, são executadas algumas validações tais como a configuração do ambiente e dos parâmetros enviados tanto os da requisição, quando os fornecidos pelo EntryPointantes que os tokens sejam gerados.
O ambiente no servidor deve estar corretamente configurado para que a requisição seja devidamente processada, caso todas essas verificações tenham sido efetuadas com sucesso, é enviada uma resposta de sucesso(status 200-OK) para o cliente contendo no corpo da resposta um Json com o access token, refresh token, scope, tipo e expires in :
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI3THBQQzByMyIsInN1YiI6ImVnaWRpbyIsImlhdCI6MTYwODU1OTY5OSwidXNlcmlkIjoiN0xwUEMwcjMiLCJleHAiOjE2MDg1NjMyOTl9.Lk3_pCqMboiYWqU12_IyVH9qEVXw6VYT2o3RinpGbJo",
"refresh_token": "7-oP9sZyBG4Vd-Dd_fS5Yz2l.-Oky8dNxMSgHXv205_nJNCCSwYhdPk8_kI2zDxz9-Ui9Rjj4C0plPV0qPuA6SIlT6Ho2CBDy0TtiwnwzYUvF7XxNHfW3li8GNHCoGND6L03Bq_U0QIaUmurVng.Reqoqn-MXkDnsq3zyboJq4AYB3pSgfS5D5v5wQVJAqU",
"scope": "default",
"token_type": "Bearer",
"expires_in": 3600
}