Estrutura de dados do aplicativo
Introdução
No Logto, um aplicativo refere-se a um programa de software ou serviço específico que está registrado na plataforma Logto e recebeu autorização para acessar informações do usuário ou realizar ações em nome de um usuário. Os aplicativos são usados para identificar a origem das solicitações feitas à API do Logto, bem como para gerenciar o processo de autenticação e autorização para os usuários que acessam esses aplicativos.
O uso de aplicativos na experiência de login do Logto permite que os usuários acessem e gerenciem facilmente seus aplicativos autorizados a partir de um único local, com um processo de autenticação consistente e seguro. Isso ajuda a simplificar a experiência do usuário e garante que apenas pessoas autorizadas estejam acessando informações sensíveis ou realizando ações em nome da organização.
Os aplicativos também são usados nos logs de auditoria do Logto para rastrear a atividade do usuário e identificar possíveis ameaças ou violações de segurança. Ao associar ações específicas a um determinado aplicativo, o Logto pode fornecer insights detalhados sobre como os dados estão sendo acessados e utilizados, permitindo que as organizações gerenciem melhor seus requisitos de segurança e conformidade. Se você deseja integrar seu aplicativo ao Logto, veja Integrar Logto.
Propriedades
ID do aplicativo
O ID do aplicativo é uma chave única gerada automaticamente para identificar seu aplicativo no Logto, e é referenciado como client id no OAuth 2.0.
Tipos de aplicativo
Um aplicativo pode ser um dos seguintes tipos de aplicativo:
- Aplicativo nativo é um aplicativo que roda em um ambiente nativo. Ex.: aplicativo iOS, aplicativo Android.
- Aplicativo de página única (SPA) é um aplicativo que roda em um navegador web, que atualiza a página com novos dados do servidor sem carregar páginas inteiras novas. Ex.: aplicativo React DOM, aplicativo Vue.
- Aplicativo web tradicional é um aplicativo que renderiza e atualiza páginas apenas pelo servidor web. Ex.: JSP, PHP.
- Aplicativo máquina para máquina (M2M) é um aplicativo que roda em um ambiente de máquina para comunicação direta entre serviços, sem interação do usuário.
Segredo do aplicativo
O segredo do aplicativo é uma chave usada para autenticar o aplicativo no sistema de autenticação, especificamente para clientes privados (aplicativos Web tradicionais e M2M) como uma barreira de segurança privada.
Aplicativos de página única (SPAs) e aplicativos nativos não fornecem segredo do aplicativo. SPAs e aplicativos nativos são "clientes públicos" e não podem manter segredos (o código do navegador ou os pacotes do aplicativo podem ser inspecionados). Em vez de um segredo do aplicativo, o Logto os protege com PKCE, validação rigorosa de URI de redirecionamento / CORS, tokens de acesso de curta duração e rotação de token de atualização.
Nome do aplicativo
O nome do aplicativo é um nome legível por humanos do aplicativo e será exibido no console de administração.
O nome do aplicativo é um componente importante do gerenciamento de aplicativos no Logto, pois permite que os administradores identifiquem e acompanhem facilmente a atividade de aplicativos individuais dentro da plataforma.
É importante observar que o nome do aplicativo deve ser escolhido com cuidado, pois será visível para todos os usuários que têm acesso ao console de administração. Ele deve refletir com precisão o propósito e a função do aplicativo, além de ser fácil de entender e reconhecer.
Descrição
Uma breve descrição do aplicativo será exibida na página de detalhes do aplicativo no console de administração. A descrição tem como objetivo fornecer aos administradores informações adicionais sobre o aplicativo, como seu propósito, funcionalidade e quaisquer outros detalhes relevantes.
URIs de redirecionamento
URIs de redirecionamento são uma lista de URIs de redirecionamento válidas que foram pré-configuradas para um aplicativo. Quando um usuário faz login no Logto e tenta acessar o aplicativo, ele é redirecionado para um dos URIs permitidos especificados nas configurações do aplicativo.
A lista de URIs permitidas é usada para validar o URI de redirecionamento incluído na solicitação de autorização enviada pelo aplicativo ao Logto durante o processo de autenticação. Se o URI de redirecionamento especificado na solicitação de autorização corresponder a um dos URIs permitidos nas configurações do aplicativo, o usuário será redirecionado para esse URI após a autenticação bem-sucedida. Se o URI de redirecionamento não estiver na lista permitida, o usuário não será redirecionado e o processo de autenticação falhará.
É importante garantir que todos os URIs de redirecionamento válidos sejam adicionados à lista permitida para um aplicativo no Logto, para garantir que os usuários possam acessar o aplicativo com sucesso após a autenticação.
Você pode conferir o Redirection endpoint para mais informações.
Compreendendo URIs de redirecionamento em OIDC com Authorization Code Flow
URIs de redirecionamento pós logout
URIs de redirecionamento pós logout são uma lista de URIs válidas que foram pré-configuradas para um aplicativo redirecionar o usuário após ele sair do Logto.
O uso de URIs de redirecionamento pós logout permitidas para logout faz parte da especificação de logout iniciado pela RP (Relying Party Initiated) no OIDC. Essa especificação fornece um método padronizado para os aplicativos iniciarem uma solicitação de logout para um usuário, que inclui redirecionar o usuário para um endpoint pré-configurado após ele sair.
Quando um usuário sai do Logto, sua sessão é encerrada e ele é redirecionado para um dos URIs permitidos especificados nas configurações do aplicativo. Isso garante que o usuário seja direcionado apenas para endpoints autorizados e válidos após sair, ajudando a evitar acessos não autorizados e riscos de segurança associados ao redirecionamento de usuários para endpoints desconhecidos ou não verificados.
Você pode conferir o RP-initiated logout para mais informações.
Origens permitidas CORS
As origens permitidas CORS (Cross-origin resource sharing) são uma lista de origens permitidas a partir das quais um aplicativo pode fazer solicitações ao serviço Logto. Qualquer origem que não esteja incluída na lista permitida não poderá fazer solicitações ao serviço Logto.
A lista de origens permitidas CORS é usada para restringir o acesso ao serviço Logto a partir de domínios não autorizados e para ajudar a prevenir ataques de falsificação de solicitação entre sites (CSRF). Ao especificar as origens permitidas para um aplicativo no Logto, o serviço pode garantir que apenas domínios autorizados possam fazer solicitações ao serviço.
A lista de origens permitidas deve conter a origem onde o aplicativo será servido. Isso garante que as solicitações do aplicativo sejam permitidas, enquanto solicitações de origens não autorizadas sejam bloqueadas.
Endpoint de configuração do provedor OpenID
O endpoint para OpenID Connect Discovery.
Endpoint de autorização
Endpoint de autorização é um termo OIDC, e é um endpoint obrigatório usado para iniciar o processo de autenticação de um usuário. Quando um usuário tenta acessar um recurso protegido ou aplicativo que foi registrado na plataforma Logto, ele será redirecionado para o endpoint de autorização para autenticar sua identidade e obter autorização para acessar o recurso solicitado.
Você pode conferir o Authorization Endpoint para mais informações.
Endpoint de token
Endpoint de token é um termo OIDC, é um endpoint de API web usado por um cliente OIDC para obter um token de acesso, um token de ID ou um token de atualização de um provedor OIDC.
Quando um cliente OIDC precisa obter um token de acesso ou token de ID, ele envia uma solicitação ao endpoint de token com uma concessão de autorização, que normalmente é um código de autorização ou um token de atualização. O endpoint de token então valida a concessão de autorização e emite um token de acesso ou token de ID para o cliente se a concessão for válida.
Você pode conferir o Token Endpoint para mais informações.
Endpoint Userinfo
O UserInfo Endpoint do OpenID Connect.
Sempre emitir token de atualização
Disponibilidade: Web tradicional, SPA
Quando ativado, o Logto sempre emitirá tokens de atualização, independentemente de prompt=consent estar presente na solicitação de autenticação, ou offline_access estar presente nos escopos.
No entanto, essa prática é desencorajada, a menos que seja necessário (geralmente é útil para algumas integrações OAuth de terceiros que exigem token de atualização), pois não é compatível com OpenID Connect e pode causar problemas.
Rotacionar token de atualização
Padrão: true
Quando ativado, o Logto emitirá um novo token de atualização para solicitações de token sob as seguintes condições:
- Se o token de atualização foi rotacionado (teve seu TTL prolongado emitindo um novo) por um ano; OU
- Se o token de atualização estiver próximo do tempo de expiração (>=70% do Tempo de Vida (TTL) original passado); OU
- Se o cliente for um cliente público, ex.: aplicativo nativo ou aplicativo de página única (SPA).
Para clientes públicos, quando esse recurso está ativado, um novo token de atualização sempre será emitido quando o cliente estiver trocando por um novo token de acesso usando o token de atualização. Embora você ainda possa desativar o recurso para esses clientes públicos, é altamente recomendado mantê-lo ativado por motivos de segurança.
Compreendendo a rotação de token de atualização
Tempo de vida (TTL) do token de atualização em dias
Disponibilidade: Não SPA; Padrão: 14 dias
A duração pela qual um token de atualização pode ser usado para solicitar novos tokens de acesso antes de expirar e se tornar inválido. As solicitações de token estenderão o TTL do token de atualização para esse valor.
Normalmente, um valor mais baixo é preferível.
Nota: A atualização do TTL não está disponível em SPA (aplicativo de página única) por motivos de segurança. Isso significa que o Logto não estenderá o TTL por meio de solicitações de token. Para melhorar a experiência do usuário, você pode ativar o recurso "Rotacionar token de atualização", permitindo que o Logto emita um novo token de atualização quando necessário.
URI de logout backchannel
O endpoint de logout backchannel do OpenID Connect. Veja Logout federado: logout back-channel para mais informações.
Dados personalizados
Informações adicionais personalizadas do aplicativo não listadas nas propriedades predefinidas do aplicativo; os usuários podem definir seus próprios campos de dados personalizados de acordo com suas necessidades específicas, como configurações e definições específicas do negócio.