Configuração de OpenID Connect - Amplia
O Amplia 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:
amplia - Display name:
Amplia - User Informations (claims): marque todos
Aplicação frontend
Na aba Applications, clique em New Application e informe:
- Name:
Amplia - App-id:
amplia - 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://amplia.yourcompany.com - Allowed URLs:
- Redirect: você deve adicionar 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: você deve adicionar 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
Amplia - Marque as seguintes caixas de seleção:
Enable digital certificate login?,Prioritize digital certificate login?eRequire digital certificate login?
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:
Amplia Backend - App-id:
amplia-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).
Configurando o Amplia para usar o GrantID
Após seguir as etapas acima para configurar o GrantID, preencha a seção Oidc do arquivo de configuração:
- Enabled: se a integração com OpenID Connect está habilitada —
True(padrão) ouFalse(enquanto estiver comoFalse, o acesso é feito com a senha de root) - 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:
amplia - ClientAppId:
amplia - AppId:
amplia-backend - AppSecret: o segredo gerado para a aplicação backend
- RequireHttps (opcional): defina como
falsese a instância do GrantID não usar HTTPS
Exemplo (arquivo de configuração .ini ou .conf):
[Oidc]
Enabled=True
Authority=https://login.id.patorum.com
ApiEndpoint=https://api.id.patorum.com
ApiName=amplia
ClientAppId=amplia
AppId=amplia-backend
AppSecret=YOUR_BACKEND_APP_SECRET
Exemplo (variáveis de ambiente):
Oidc__Enabled=True
Oidc__Authority=https://login.id.patorum.com
Oidc__ApiEndpoint=https://api.id.patorum.com
Oidc__ApiName=amplia
Oidc__ClientAppId=amplia
Oidc__AppId=amplia-backend
Oidc__AppSecret=YOUR_BACKEND_APP_SECRET
Exemplo (arquivo de configuração .json):
...,
"Oidc": {
"Enabled": true,
"Authority": "https://login.id.patorum.com",
"ApiEndpoint": "https://api.id.patorum.com",
"ApiName": "amplia",
"ClientAppId": "amplia",
"AppId": "amplia-backend",
"AppSecret": "YOUR_BACKEND_APP_SECRET"
},
...
Transição do acesso de root
Se a sua instância do Amplia foi configurada inicialmente para usar o acesso de root, ao configurar o gerenciamento de usuários e tentar acessar a aplicação com o seu usuário do GrantID, você provavelmente verá uma página informando que você não tem acesso ("no access"). Isso acontece porque todos os privilégios são concedidos ao primeiro usuário que entra na aplicação, que, no seu caso, não foi o usuário com o qual você está entrando agora, e sim o usuário root.
Nesse caso, você precisa conceder privilégios a si mesmo manualmente, pelo banco de dados. Comece localizando o Id do seu usuário:
SELECT "Id", "Name", "EmailAddress"
FROM "Agents"
WHERE "Subject" IS NOT NULL
Em seguida, conceda a si mesmo o role de sys admin Owner (copie o Id do seu usuário para a consulta abaixo):
UPDATE "Agents"
SET "RootRoleFlags" = 1
WHERE "Id" = 'YOUR-USER-ID'