Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.



Informações
titleAbrangência

Disponível a partir da versão 19.3.1 e superiores.



No Com o oAuth2 o acesso do cliente a uma API é feito mediante ao envio de a uma autorização, um token enviado no header da requisição a mesma. 
Esse código de acesso ou Access Token é gerado previamente 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 Para obter o token o cliente deve fazer uma chamada Http POST a API TlppCore através do endereço “/tlpp/oauth2/token” enviando os seguintes parâmetros:”  desta forma :

https://localhost:1234/tlpp/oauth2/token?grant_type

...

=password

...

&username

...

=nomedousuario&password=senhadousuario

Onde desmembrando a URL temos:

...

Obedecendo a convenção de envio de parâmetros adotada (“QueryParams”), o exemplo do endpoint fica desta forma: 

  • https:// : Protocolo preferencial para utilização deste endpoint com utilização de SSL.
  • localhost:1234 : Endereço e porta do seu servidor onde o oAuth2 está configurado.
  • /tlpp/oauth2/token? : endpoint padrão TlppCore para obtenção de tokens.
  • grant_type

...

  • : "password"(enviar a palavra password)
  • username - nome do usuário(nome do usuário que está solicitando acesso a aplicação).
  • password - senha do usuário(senha do usuário que está solicitando acesso a aplicação).



Aviso

Os parâmetros da requisição devem ser enviados conforme a convenção "Query Params".

...

Assim que é chegada a requisição, são é executadas algumas a validações tais como a de configuração do ambiente e dos parâmetros enviados tanto os da requisição, quando na requisição bem como os fornecidos pelo EntryPointantes EntryPoint antes 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 Havendo sucesso em todas as validações a requisição é processada e caso não ocorra nenhum erro, é retornada uma resposta de sucesso(status 200-OK) para o cliente contendo no corpo da resposta body da mesma um Json com o access token, refresh token, scope, tipo type e expires in(tempo de validade em segundos:


Bloco de código
languagecpp
titleResposta de solicitação do Access Token
{

...



    "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

}



Caso haja falha em alguma das validações prévias a geração do token, é enviado ao cliente uma resposta contendo o código de erro constando no corpo da mensagem a descrição da falha:

Image Added}