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?eBack-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.
- 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
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.
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.
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
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
falsese 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