> For the complete documentation index, see [llms.txt](https://docs.vaultid.com.br/workspace/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vaultid.com.br/workspace/ceas/api/autenticacao-de-usuarios/oauth2-authorization-code.md).

# OAuth2 - Authorization Code

### Authorization Code Request

A aplicação que está realizando a integração deve redirecionar o usuário para uma URL construída no seguinte formato:<br>

Parâmetros da requisição (na query string, método GET):

<mark style="color:blue;">`GET`</mark> `https://ceas.endpoint/oauth/authorize`

#### Query Parameters

| Name           | Type    | Description                                                                                                                                                                                                                                           |
| -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| integration    | boolean | Se marcado como verdadeiro (true), exibe tela intermediária de autenticação opções de autenticação                                                                                                                                                    |
| response\_type | string  | Fixo: "code".                                                                                                                                                                                                                                         |
| client\_id     | string  | Deve ter a identificação da aplicação.                                                                                                                                                                                                                |
| redirect\_uri  | string  | Deve ter a URI para redirecionar o usuário de volta para a aplicação de origem. A URI deve estar na lista de URI's autorizadas para a aplicação. Deve ser URL ENCODED. Se não informado, será considerada a primeira URI cadastrada para a aplicação. |
| state          | string  | É retornado sem modificações para aplicação de origem.                                                                                                                                                                                                |
| lifetime       | number  | Indica o tempo de vida desejado para o token a ser gerado. Inteiro, em segundos.                                                                                                                                                                      |
| scope          | string  | Valores de escopo                                                                                                                                                                                                                                     |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

O usuário será redirecionado para página da solução onde as credenciais deverão ser informadas, após a devida autenticação e autorização o usuário é redirecionado para a página apontada pelo cliente da solução.\
\
Retorno:

O usuário é redirecionado para redirect\_uri com dois parâmetros na query string: code (o código de autorização a ser usado na solicitação do token) e state (da mesma forma que informado na requisição inicial).

### **Exchange Code for Access Token**

<mark style="color:green;">`POST`</mark> `https://ceas.endpoint/oauth`

#### Headers

| Name         | Type   | Description      |
| ------------ | ------ | ---------------- |
| Content-Type | string | application/json |
| Accept       | string | application/json |

#### Request Body

| Name           | Type   | Description                            |
| -------------- | ------ | -------------------------------------- |
| redirect\_uri  | string | URL de redirecionamento                |
| client\_id     | string | Deve ter a identificação da aplicação. |
| client\_secret | string | Deve ter o secret da aplicação         |
| code           | string | Deve ter o code                        |
| grant\_type    | string | Fixo: "authorization\_code"            |

{% tabs %}
{% tab title="200 " %}

```
{
    "access_token": "e16c3a90ca9c7a7a261d606fdc386df111f0c4f2",
    "expires_in": 259200,
    "token_type": "bearer",
    "scope": "signature_session service_2fa",
    "provider": "VAULTIDHOM",
    "vcschema": "VkFVTFRJREhPTS18ZTE2YzNhOTBjYTljN2E3YTI2MWQ2MDZmZGMzODZkZjExMWYwYzRmMg=="
}
```

{% endtab %}
{% endtabs %}

Parâmetros da requisição:

Após o usuário ser direcionado de volta para aplicação de origem, a aplicação que está realizando a integração deverá consumir em background o endpoint para recuperar o token de acesso.<br>
