Sumário
- Coleção Postman para fluxos OAuth para facilitar testes com este software
- JWT fluxo do authorization code
- Fluxo de Client Credentials para geração do access token
Coleção Postman para fluxos OAuth para facilitar testes com este software
Baixe aqui esta coleção:
JWT fluxo do authorization code
1º Gerar code para a partir dele obter o token de acesso (no Postman)
2º 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
3º POST “https://{environment}/rfc-oauth/v1/)access-token”
- Aba Body:
- Escolher x-www-form-urlencoded
- code = obtido da resposta do grant-code no param code
- grant_type = urn:ietf:params:oauth:grant-type:jwt-bearer
- 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
paragrant_type = authorization_code
. Com isso quando você for gerar oaccess_token
você receberá também umrefresh_token
, conforme pode ser visto na imagem abaixo:

- Com o
refresh_token
em mãos, para atualizar oaccess_token
é necessário que você mude ogrant_type
paragrant_type = refresh_token
e passe uma variávelrefresh_token
no body contendo orefresh_token
recebido, conforme pode ser visto abaixo:

- Com isso, fazendo o POST você receberá novo
refresh_token
,access_token
,expires_in
e otype
. - 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.
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.