Endpoint UserInfo
O SSO disponibiliza um endpoint para recuperar, de forma simplificada, algumas informações do usuário. São elas o email, o nome completo e o seu ID.
URLs
| Método | URL | Ação | Descrição |
|---|---|---|---|
| GET | /api/userinfo | Visualizar | Recupera informações básicas do usuário (email, nome completo e ID) |
Produção:
{security-producao}/api/userinfoHomologação:
{security-homologacao}/api/userinfoAutenticação
No header da chamada deverá ser informado no formato Bearer o access token do usuário, obtido no processo do capítulo 6.
Authorization: Bearer <access_token>Exemplo de Requisição
javascript
const response = await fetch('{security-producao}/api/userinfo', {
method: 'GET',
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
const userInfo = await response.json();Resposta
A resposta obtida será no formato seguinte:
json
{
"user_email": "string",
"user_id": "string",
"user_name": "string"
}Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
user_email | string | Email do usuário |
user_id | string | ID único do usuário no sistema |
user_name | string | Nome completo do usuário |
Tratamento de Erros
Em caso de erro, a API retornará um código de status HTTP apropriado (401, 403, etc.) e uma mensagem de erro no corpo da resposta.
Exemplo Completo
javascript
async function obterUserInfo(accessToken) {
try {
const response = await fetch('{security-producao}/api/userinfo', {
method: 'GET',
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
if (!response.ok) {
throw new Error(`Erro ${response.status}: ${response.statusText}`);
}
const userInfo = await response.json();
return userInfo;
} catch (error) {
console.error('Erro ao obter informações do usuário:', error);
throw error;
}
}