Configuração de OpenID Connect - GeCert
O GeCert requer uma assinatura do GrantID.
Você pode usar uma assinatura SaaS em grantid.com ou executar sua própria instância do GrantID.
Configurando o GrantID
Acesse o portal do Console do GrantID e siga as instruções abaixo.
Criar uma conexão de API
Na aba Scopes, clique em New API Connection para criar uma conexão de API para a aplicação, informando:
- Name:
gecert - Display name:
GeCert - User Informations (claims): marque todos
Aplicação frontend
Na aba Applications, clique em New Application e informe:
- Name:
GeCert - App-id:
gecert - Type: selecione
Implicit flow.
Clique na aba Settings e defina:
- Marque a caixa de seleção
Allow Access tokens via browser?(se ainda não estiver marcada) - Desmarque as seguintes caixas de seleção (se marcadas):
Require consent?,Front-channel logout session required?eBack-channel logout session required? - Application URL: a URL da sua aplicação. Exemplo:
https://gecert.suaempresa.com.br - Allowed URLs:
- Redirect: adicione 4 URLs de redirecionamento baseadas na URL da sua aplicação:
<applicationURL>sem barra no final.<applicationURL>/silent-refresh.html<applicationURL>/private/profile/refresh<applicationURL>/private
- CORS origins:
<applicationURL>sem barra no final. - Post Logout:
<applicationURL>sem barra no final.
- Redirect: adicione 4 URLs de redirecionamento baseadas na URL da sua aplicação:
- Allowed Identification Scopes: marque todos
- Allowed API scopes: marque a caixa de seleção do escopo de API
GeCert
Não se esqueça de salvar suas alterações clicando no botão ao final da página.
Aplicação backend
Na aba Applications, clique novamente em New Application e informe:
- Name:
GeCert Backend - App-id:
gecert-backend - Type: selecione
Client credentials.
Clique na aba Settings e defina:
- Allowed API scopes: marque a caixa de seleção
Manage subscription's users.
Não se esqueça de salvar suas alterações clicando no botão ao final da página.
Após salvar, retorne à aba Basic Details e, na seção App Secret, clique em Generate e depois em Generate Secret.
Este é o valor da configuração AppSecret (copie-o e guarde-o para usar depois).
Aplicação do Gecert Connect
Crie mais uma aplicação para o Gecert Connect, com um App-id como gecert-connect, usando o fluxo
authorization code com PKCE, com acesso offline permitido, o escopo de API GeCert e uma URI de redirecionamento. Os valores dela
vão na seção GecertConnect do servidor: veja Configuração do Gecert Connect no servidor.
Configurando o GeCert para usar o GrantID
Após seguir as etapas acima para configurar o GrantID, preencha a seção Oidc do arquivo de configuração:
- Authority: a autoridade OIDC (ex.: https://login.id.patorum.com)
- ApiEndpoint: o endpoint de API do servidor OIDC (ex.: https://api.id.patorum.com)
- ApiName:
gecert - ClientAppId:
gecert - AppId:
gecert-backend - AppSecret: o segredo gerado para a aplicação backend
Exemplo (arquivo de configuração .ini ou .conf):
[Oidc]
Authority=https://login.id.patorum.com
ApiEndpoint=https://api.id.patorum.com
ApiName=gecert
ClientAppId=gecert
AppId=gecert-backend
AppSecret=YOUR_BACKEND_APP_SECRET
Exemplo (variáveis de ambiente):
Oidc__Authority=https://login.id.patorum.com
Oidc__ApiEndpoint=https://api.id.patorum.com
Oidc__ApiName=gecert
Oidc__ClientAppId=gecert
Oidc__AppId=gecert-backend
Oidc__AppSecret=YOUR_BACKEND_APP_SECRET
Primeiro usuário
Todos os privilégios da área Sys Admin são concedidos ao primeiro usuário que entra na aplicação. Se outro usuário precisar desses
privilégios e ninguém puder concedê-los pela aplicação, conceda-os pelo banco de dados. Comece localizando o Id do usuário:
SELECT "Id", "Name", "EmailAddress"
FROM "Agents"
WHERE "Subject" IS NOT NULL
Em seguida, conceda o papel de Sys Admin Owner (copie o Id do usuário para a consulta abaixo). No GeCert, o valor de RootRoleFlags
para o papel Owner é 2:
UPDATE "Agents"
SET "RootRoleFlags" = 2
WHERE "Id" = 'YOUR-USER-ID'