Recursos adicionais

Sumário

Coleção Postman para fluxos OAuth para facilitar testes com este software

Baixe aqui esta coleção:

Voltar ao topo

JWT fluxo do authorization code

1º Gerar code para a partir dele obter o token de acesso (no Postman)

GET “https://{$environment}/rfc-oauth/v1/grant-code”

  • Aba Query Params:
    • response_type = code
    • client_id = (ID do APP criado)
    • Observação: editar a APP para adicionar um campo extra chamado redirect_uri, por exemplo do meu IdP para obter o consentimento do usuário quando for o caso.
  • Aba Authorization:
    • Username = valor do client_id da APP
    • Password = valor do secret da APP
  • Clicar SEND:
    • Resposta JSON com:
    • “redirect_uri”: “{$environment}/?code=XYZ
    • Observações:
      • code tem o tempo padrão de 1h
      • token da Sensedia tem o tempo padrão de 24h
      • ambos os timeouts são personalizáveis

POST “https://{environment}/rfc-oauth/v1/)access-token”

  • Aba Body:
  • Já posso usar a API desejada, basta passar o access-token para ela, por exemplo:
    • No postman fazer requisição para a API desejada, mas antes na Aba Authorization escolher a opção “Bearer token” e colar o access-token gerado (base 64).
    • É possível no POST para obter o access-token na aba Body adicionar no formato raw um JSON com campo extraInfo.
    • Exemplo:
{
    “extraInfo”: {}
}

No interceptor OAuth conferir se o grant type JWT está marcado.

4º Fluxo de refresh token

  • Para trabalhar com o fluxo do refresh token, é necessário na etapa 3 mudar o grant_type para grant_type = authorization_code . Com isso quando você for gerar o access_token você receberá também um refresh_token, conforme pode ser visto na imagem abaixo:
  • Com o refresh_token em mãos, para atualizar o access_token é necessário que você mude o grant_type para grant_type = refresh_token e passe uma variável refresh_token no body contendo o refresh_token recebido, conforme pode ser visto abaixo:
  • Com isso, fazendo o POST você receberá novo refresh_token, access_token, expires_in e o type.
  • Ponto interessante e curioso de se comentar é que, mesmo no fluxo do refresh token, a Sensedia nos obriga a adicionar o Authorization Header, podendo se diferenciar do fluxo de refresh que pode ser costumeiro em outras aplicações, estão esteja atento a isso.

Voltar ao topo

Fluxo de Client Credentials para geração do access token

1º Para utilizar o fluxo de Client Credentials primeiramente é necessário configurar o header de Authorization da requisição para o tipo Basic Auth. Para tal no campo Username coloque seu client_id e no Password seu client_secret. Vale a pena lembrar que o client_id e client_secret podem ser obtidos no seu APP na Sensedia.

2º Configure o tipo do Body da sua requisição para x-www-form-urlencoded e adicione a key grant_type com value client_credentials

3º Finalize o fluxo fazendo um POST para https://{$environment}/rfc-oauth/v1/access-token. Com isso você receberá seu access token. Lembre-se de trocar {$environment} pelo environment que estiver utilizando!

Observação: Note que no JSON retornado não há um campo refresh_token, isso acontece pois, diferente do fluxo de Authorization Code, no fluxo de Client Credentials caso o token expire é necessário solicitar um novo, não há como renovar um token já expirado.

Voltar ao topo