O que é o OAUTH?
É um framework de autorização que permite a terceiros e aplicações obter acesso limitado a um serviço HTTP, ele introduz uma camada de autorização, onde para acessar os recursos controlados, deve-se obter um token de acesso ou uma string que denota escopo específico, tempo de vida e outros atributos de acesso.
Tokens de acesso são emitidos para clientes de terceiros por um servidor de autorização com a aprovação do proprietário do recurso. O cliente usa o token de acesso para acessar os recursos protegidos hospedados pelo servidor de recursos.
Para mais informações acesse o link.
O que o interceptor de Oauth resolve no fluxo de uma API?
Com o interceptor de Oauth, você terá acesso ao recurso de segurança que foi destinado a verificar se os headers informados, client_id e access_token estão presentes na requisição e se são válidos.
Caso alguma das informações passadas não forem válidas, é retornado uma mensagem informado o que está incorreto.
Quais itens são necessários?
Client_Id – Este código pode ser encontrado na APP que vinculou a sua API.
Access_Token – Ele deve ser criado na plataforma do Manager, selecionando a opção ACCESS TOKEN no menu esquerdo, logo em seguida, clique no sinal de + no canto inferior direito. Preencha o formulário de criação e ao final, o Manager irá informar o Access token.
Testando
Para testar o OAUTH, crie uma API ou edite uma já criada. Adicionando no fluxo o interceptor de OAUTH. Logo em seguida, selecione um Grant TYPE.
Obs: A seleção dos tipos de fluxos OAuth afetarão diretamente o funcionamento de obtenção dos Access Tokens através do Authorization.
Mais informações sobre como utilizar cada GrantType segue link para consulta:
Password: https://docs.sensedia.com/pt/api-platform-guide/4.3.x.x/other-info/oauth20.html#password
Authorization Code: https://docs.sensedia.com/pt/api-platform-guide/4.3.x.x/other-info/oauth20.html#authorization-code
Client credentials: https://docs.sensedia.com/pt/api-platform-guide/4.3.x.x/other-info/oauth20.html#client-credentials
Implicit: https://docs.sensedia.com/pt/api-platform-guide/4.3.x.x/other-info/oauth20.html#implicit
JWT: https://docs.sensedia.com/pt/api-platform-guide/4.3.x.x/other-info/oauth20.html#jwt
Fazendo uma chamada de exemplo no postman:
Para realizar as próximas etapas, você vai precisar de um aplicativo para testes, como postman, curl ou o próprio navegador.
Obs: as etapas abaixo utilizam o cliente postman instalado no Ubuntu.
1 - Copie a URL do environment da sua API e cole no campo de pesquisa do postman e clique em SEND.
2 - Será apresentada a mensagem abaixo, solicitando um client_Id.
3 - No postman, clique na aba HEADER, no campo “KEY” adicione a string “client_id”, e no campo VALUE, coloque a string do client_ID. Clique em SEND novamente.
4 - Será exibido uma nova mensagem solicitando agora o access token.
5 - Crie um access token ou caso já esteja criado, copie o código dele e cole no postman.
No postman, clique na aba HEADER, no campo “KEY” adicione a string “access_token”, e no campo VALUE, coloque a string do access_token. Clique em SEND novamente.
Se nenhum erro foi exibido, o acesso ao recurso foi feito de maneira segura.
Em caso de erro, verifique as strings adicionadas, observando maiusculo e minusculo.
Comentários
0 comentário
Por favor, entre para comentar.