Client Secret Post

Pré-requisitos:

Token

URL de Documentação da API : /apidocs/#/OAuth2/post__application__oauth_token

Após o login do usuario com sucesso, voce deve pegar o valor do argumento code e dados do client cadastrado e consumir o endpoint https://[ip ou hostname (fqdn)]/<application name>/oauth/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:
    • Obrigatório: Sim
    • Tipo: String
    • Localização: No corpo da requisição JSON.
    • Descrição: ID do cliente usado para autenticação
  • client_secret:
    • Obrigatório: Sim
    • Tipo: String
    • Localização: No corpo da requisição JSON.
    • Descrição: Secret do cliente usado para autenticação
  • code:
    • Obrigatório: Sim
    • Tipo: String
    • Localização: No corpo da requisição JSON.
    • Descrição: Codigo retornado no endpoint authorize
  • grant_type:
    • Obrigatório: Sim
    • Tipo: String
    • Localização: No corpo da requisição JSON.
    • Descrição: Grant type configurado no client
  • redirect_uri:
    • Obrigatório: Sim
    • Tipo: String
    • Localização: No corpo da requisição JSON.
    • Descrição: Redirect uri enviado como parâmetro do endpoint authorize

No exemplo abaixo iremos utilizar o fluxo com o grant_type sendo authorization_code e o response_type como code

Como o Token Endpoint Auth Method foi definido no exemplo como client_secret_post, as credenciais do cliente devem ser enviadas via post form

  • Exemplo de uma requisição usando client_secret_post para autenticação

    curl -X POST "https://[ip ou hostname (fqdn)]/<application name>/oauth/token" \
    -H "accept: application/json" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d client_id=<client_id> \
    -d client_secret=<client_secret> \
    -d code=<auth_code> \
    -d grant_type=authorization_code \
    -d redirect_uri=<redirect_uri>
    

    O retorno desta chamada deve ser similar ao exemplo abaixo:

    {
    "access_token": "eyJhbGciOiJSUz[...]EoULcOD4XZtfsTq1j95bg",
    "expires_in": 3600,
    "scope": "profile",
    "token_type": "Bearer"
    }
    


UserInfo

URL de Documentação da API : /apidocs/#/OAuth2/get__application__oauth_userinfo

Para recuperar as informações do usuário, utilize o access_token retornado pelo endpoint acima como valor do header Authorization: Bearer <access_token>

Parâmetros:

  • application name:
    • Obrigatório: Sim
    • Tipo: String
    • Localização: Caminho da URL (Path)
    • Descrição: O nome da aplicação a ser usada.

Exemplos:

  • Curl:

      curl -X GET "https://[ip ou hostname (fqdn)]/<application name>/oauth/userinfo" \
      -H "accept: application/json" \
      -H "Authorization: Bearer <access_token>"
    

    O retorno desta chamada deve ser similar ao exemplo abaixo:

    {
    "id": "09d97a66-da69-4049-9123-3fdd7c2c2738",
    "name": "userdocs",
    "sub": "09d97a66-da69-4049-9123-3fdd7c2c2738",
    "username": "userdocs"
    }
    

results matching ""

    No results matching ""