Interceptor de Oauth no fluxo de uma API

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://help.v3.apisuite.sensedia.com/pt-br/oauth20/password.html

Authorization Code: https://help.v3.apisuite.sensedia.com/pt-br/oauth20/authorization_code.html

Client credentials: https://help.v3.apisuite.sensedia.com/pt-br/oauth20/client_credentials.html

Implicit: https://help.v3.apisuite.sensedia.com/pt-br/oauth20/implicit.html

JWT: https://help.v3.apisuite.sensedia.com/pt-br/apis/jwt.html

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.

 

Tem mais dúvidas? Envie uma solicitação

Comentários

Desenvolvido por Zendesk