Pular para o conteúdo principal

Configuração de OpenID Connect - Lacuna PSC

O Lacuna PSC 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​

Entre no portal GrantID Console e siga as instruções abaixo.

Criação da assinatura​

Ao criar a assinatura como parte das etapas de pós-instalação do GrantID, certifique-se de selecionar Email como o Username type.

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: psc
  • Display name: PSC
  • User Informations (claims): marque todos

Depois de criar a conexão de API, clique no botão Generate da coluna API Secret e, em seguida, em Generate Secret. Esse é o valor da configuração ApiSecret (copie-o e guarde-o para usar depois).

Aplicação frontend​

Na aba Applications, clique em New Application e informe:

  • Name: PSC
  • App-id: psc
  • Type: selecione Implicit flow.

Clique na aba Settings e defina:

  • Marque a caixa de seleção Allow Access tokens via browser?.
  • Desmarque as seguintes caixas de seleção (se estiverem marcadas): Require consent?, Front-channel logout session required? e Back-channel logout session required?
  • Application URL: a URL da sua aplicação. Exemplo: https://myappname.com
  • 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.
  • Allowed Identification Scopes: marque todos
  • Allowed API scopes: marque a caixa de seleção do escopo de API PSC
  • Marque a caixa de seleção Is email required?
  • Recomenda-se marcar a opção Verify user's email, para que somente usuários com e-mail verificado possam concluir o processo de login.
aviso

Não se esqueça de salvar as alterações clicando no botão no final da página.

Aplicação backend​

Na aba Applications, clique novamente em New Application e informe:

  • Name: PSC Backend
  • App-id: psc-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 as alterações clicando no botão no final da página.

Depois de salvar, volte à aba Basic Details e, na seção App Secret, clique em Generate e depois em Generate Secret. Esse é o valor da configuração AppSecret (copie-o e guarde-o para usar depois).

Aplicação ROP​

Na aba Applications, clique novamente em New Application e informe:

  • Name: PSC ROP
  • App-id: psc-rop
  • Type: selecione Resource Owner Password.

Nos detalhes da aplicação, escolha a aba Settings e defina:

  • Marque a caixa de seleção Allow offline access?.
  • Access Token Type: selecione Reference Token
  • Access Token Lifetime: altere para 36000000
  • Allowed Identification Scopes: marque todos os escopos
  • Allowed API scopes: marque o escopo PSC
aviso

Não se esqueça de salvar as alterações clicando no botão no final da página.

Depois de salvar, volte à aba Basic Details e, na seção App Secret, clique em Generate e depois em Generate Secret. Esse é o valor da configuração ResourceOwnerPasswordAppSecret (copie-o e guarde-o para usar depois).

Configurando o Lacuna PSC para usar o GrantID​

Depois de seguir os passos 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: psc
  • ClientAppId: psc
  • AppId: psc-backend
  • ResourceOwnerPasswordAppId: psc-rop
  • ApiSecret: o secret gerado para a conexão de API
  • AppSecret: o secret gerado para a aplicação backend
  • ResourceOwnerPasswordAppSecret: o secret gerado para a aplicação ROP
  • RequireHttps (opcional): defina como false se a instância do GrantID não usar HTTPS

Exemplo (arquivo .ini ou .conf):

[Oidc]
Authority=https://login.id.patorum.com
ApiEndpoint=https://api.id.patorum.com
ApiName=psc
ClientAppId=psc
AppId=psc-backend
ResourceOwnerPasswordAppId=psc-rop
ApiSecret=YOUR_API_SECRET
AppSecret=YOUR_BACKEND_APP_SECRET
ResourceOwnerPasswordAppSecret=YOUR_ROP_APP_SECRET

Exemplo (variáveis de ambiente):

Oidc__Authority=https://login.id.patorum.com
Oidc__ApiEndpoint=https://api.id.patorum.com
Oidc__ApiName=psc
Oidc__ClientAppId=psc
Oidc__AppId=psc-backend
Oidc__ResourceOwnerPasswordAppId=psc-rop
Oidc__ApiSecret=YOUR_API_SECRET
Oidc__AppSecret=YOUR_BACKEND_APP_SECRET
Oidc__ResourceOwnerPasswordAppSecret=YOUR_ROP_APP_SECRET

Veja também​

Ver em Markdown