Pular para o conteúdo principal

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? e Back-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.
  • 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? e Require digital certificate login?
aviso

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.
aviso

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) ou False (enquanto estiver como False, 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 false se 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'

Veja também​

Ver em Markdown