Client Credential grant type
Pré-requisitos:
- Uma aplicação devidamente configurada
- Usuário valido
- Credenciais de um client valido
- JWKs configurada para geração do
access_token
Token
URL de Documentação da API : /apidocs/#/OpenID/post__application__connect_token
Parâmetros:
- application:
- Obrigatório: Sim
- Tipo: String
- Localização: Caminho da URL (Path)
- Descrição: Nome da aplicação a ser usada.
- client_id:
- Tipo: String
- Localização: No corpo da requisição JSON.
- Descrição: ID do cliente a ser usado na geração do "code"
- client_secret:
- Tipo: String
- Localização: No corpo da requisição JSON.
- Descrição: Secret do cliente a ser usado na geração do "code"
- code:
- Tipo: String
- Localização: No corpo da requisição JSON.
- Descrição: Codigo retornado no endpoint
authorize
- grant_type:
- Tipo: String
- Localização: No corpo da requisição JSON.
- Descrição: Grant type configurado no client
- redirect_uri:
- Tipo: String
- Localização: No corpo da requisição JSON.
- Descrição: Redirect Uri enviado como parametro do endpoint de authorize
No exemplo abaixo iremos utilizar o fluxo com o grant_type
sendo client_credentials
e o response_type
como id_token token
Como o Token Endpoint Auth Method
foi definido no exemplo como client_secret_post
as credenciais do cliente devem ser enviadas via post form
curl -X POST "https://[ip ou hostname (fqdn)]/<application name>/connect/token" -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=<client_id>&client_secret=<client_secret>&grant_type=client_credentials&scope=openid%20profile"
O retorno desta chamada deve ser similar ao exemplo abaixo:
{
"access_token": "eyJhbGciOiJSUz[...]EoULcOD4XZtfsTq1j95bg",
"expires_in": 3600,
"scope": "profile",
"token_type": "Bearer"
}