Pular para o conteúdo

Início de sessão e palavras-passe

Configuração

Decide como as pessoas iniciam sessão: tamanho da palavra-passe, um atalho para a rede de casa e o início de sessão a partir de fora. Só o proprietário altera estas opções, em Settings > Sign-in and security (Definições > Início de sessão e segurança).

Definir a palavra-passe mais curta

Ligação para Definir a palavra-passe mais curta
  1. Abre Settings > Sign-in and security > Passwords (Palavras-passe).
  2. Escreve um número entre 4 e 64. O valor predefinido é 8.
  3. Clica em Save (guardar). Deves ver o número novo continuar lá depois de recarregares a página.

O mínimo aplica-se a todas as palavras-passe novas: a do primeiro proprietário, as dos convites aceites, as alterações em My account (a minha conta) e holyarrs reset-owner. As palavras-passe existentes continuam a funcionar até à próxima alteração. A palavra-passe mais longa tem 1024 carateres.

Dispensar o início de sessão na minha rede local

Ligação para Dispensar o início de sessão na minha rede local

Os dispositivos da tua rede de casa abrem o HolyArrs como proprietário, sem palavra-passe. Desativado por predefinição.

  1. Abre Settings > Sign-in and security > Local network (rede local).
  2. Indica as tuas redes, uma por linha, até 32. Usa um intervalo (192.168.1.0/24, fd00::/8) ou um só endereço (192.168.1.20).
  3. Ativa o interruptor e guarda. Deves ver o teu próprio endereço no cartão.

O interruptor não pode ficar ativo com a lista vazia, nem enquanto existir alguma conta de criança. Criar chaves de API, alterar as definições de início de sessão, ler ou substituir segredos e restaurar cópias de segurança continuam a pedir a palavra-passe.

Alguns cenários fazem todos os dispositivos parecerem um único endereço de gateway: Docker Desktop, Docker ou Podman rootless e NodePort do Kubernetes. Os mais comuns são 172.17.0.1, 172.18.0.1 e seguintes, 10.88.0.1, 10.89.x.1, 10.0.2.2 e 192.168.65.x.

Se indicares um destes, quem chegar ao HolyArrs entra como proprietário. O cartão avisa quando uma entrada parece ser um deles. Abre a página a partir de um segundo dispositivo: se mostrar o mesmo endereço, desativa o interruptor e remove essa entrada.

Atrás de um proxy inverso, o HolyArrs só lê o endereço reencaminhado vindo de proxies listados em HOLYARRS_TRUSTED_PROXIES. Caso contrário, o cartão não mostra nenhum endereço e diz que o proxy não é de confiança.

Um fornecedor OpenID Connect pode iniciar a sessão das pessoas. Aparece como um botão na página de início de sessão.

  1. Abre Settings > Sign-in and security > Single sign-on (início de sessão único).
  2. Escreve o emissor (issuer) do fornecedor e clica em Test (testar). Para o teste não é enviado nenhum segredo.
  3. Escreve o client id e o client secret. Assinala Public client (cliente público) se o fornecedor não usar segredo.
  4. Copia o Callback address (endereço de retorno) e regista exatamente esse endereço no fornecedor.
  5. Escreve a tua palavra-passe, mais um código de dois fatores se usares um, e clica em Save. Todas as alterações pedem isto.

Depois liga a tua própria conta: inicia sessão com a palavra-passe, abre My account, em Linked sign-ins (inícios de sessão ligados) clica em Link (ligar), confirma a palavra-passe e clica em Single sign-on.

Deixar entrar pessoas novas através do início de sessão único

Ligação para Deixar entrar pessoas novas através do início de sessão único

Desativado por predefinição. Quando ativo, qualquer pessoa que o fornecedor autentique recebe uma conta, por isso o HolyArrs pede-te que confirmes. Os recém-chegados entram como membros que só podem pedir. O início de sessão único nunca cria um proprietário nem um administrador.

Alterar o emissor ou o client id

Ligação para Alterar o emissor ou o client id

Voltas a escrever o segredo. As ligações antigas são removidas e todos os que usavam o início de sessão único ficam sem sessão. Voltam a ligar-se a partir de My account. Desativar o início de sessão único também lhes termina a sessão.

Desligar um início de sessão

Ligação para Desligar um início de sessão
  • O teu: My account > Linked sign-ins > Unlink (desligar). Precisa de uma confirmação recente da palavra-passe e é recusado se for a tua única forma de entrar.
  • O de outra pessoa: o proprietário usa Settings > Users and roles (utilizadores e funções). Se for a única forma de entrar dessa pessoa, o HolyArrs pergunta mais uma vez.

Desligar termina a sessão dos dispositivos que o usavam. Se a adesão estiver aberta, a mesma pessoa pode voltar como um membro novo. Desativa a adesão para a manter de fora.

Sintoma: o HolyArrs volta a pedir a tua palavra-passe. Causa: as alterações a contas, chaves e definições precisam de uma confirmação da palavra-passe feita nos últimos 10 minutos, mais dois fatores se estiverem definidos. O início de sessão a partir de fora e o atalho da rede local não contam. Solução: confirma com a tua palavra-passe. Terminar a sessão e terminar dispositivos nunca pedem nada.

Sintoma: o retorno falhou com um erro curto e continuas sem sessão. Causa: o endereço de retorno no fornecedor é diferente do do HolyArrs. Solução: copia outra vez o Callback address e cola-o exatamente no fornecedor.

Sintoma: uma conta criada através do início de sessão único não consegue definir uma palavra-passe. Causa: não é possível nesta versão. Solução: cria primeiro o proprietário local e depois liga-lhe o início de sessão único.

Sintoma: terminaste a sessão no HolyArrs e ficaste com a sessão iniciada no fornecedor. Causa: o HolyArrs só termina o seu próprio início de sessão. Solução: num dispositivo partilhado, termina também a sessão no fornecedor.

Perdeste a palavra-passe do proprietário? Vê Sessões e palavras-passe.

Início de sessão por proxy de confiança

Se um proxy inverso já inicia a sessão das pessoas, o HolyArrs aceita o nome que ele passa. Define-o apenas no ambiente. Aparece como um botão na página de início de sessão; uma visita nunca inicia a sessão de ninguém só com cabeçalhos.

  • O proxy remove Remote-User e Remote-Name recebidos e define os seus próprios depois do início de sessão.
  • Remote-User: um nome estável, no máximo 255 bytes. Remote-Name: nome a mostrar, opcional, no máximo 200 bytes.
  • Valores repetidos, unidos por vírgulas ou com carateres de controlo são recusados. Os cabeçalhos de função são ignorados.

Mantém o HolyArrs acessível apenas através desse proxy. Confiar no endereço de um proxy é confiar em todos os nomes que ele envia. Liga-o a uma conta em My account > Link trusted proxy sign-in.

Variáveis de ambiente

Define-as antes de iniciar. Os dois métodos estão desativados a menos que os atives. Uma configuração errada impede o HolyArrs de iniciar; uma falha do fornecedor deixa o início de sessão com palavra-passe a funcionar. Se HOLYARRS_OIDC_ENABLED estiver definido, mesmo como false, o ambiente passa a controlar o início de sessão único e as Definições só o mostram.

Variável O que faz Predefinição
HOLYARRS_OIDC_ENABLED Ativa o início de sessão único false
HOLYARRS_OIDC_ISSUER Emissor HTTPS exato do fornecedor nenhuma
HOLYARRS_OIDC_CLIENT_ID Client id registado nenhuma
HOLYARRS_OIDC_CLIENT_SECRET_FILE Ficheiro com o client secret, no máximo 4096 bytes. Deixa de fora para um cliente público nenhuma
HOLYARRS_OIDC_REDIRECT_URL Endereço de retorno HTTPS exato: o teu endereço, o URL base se existir e depois /api/v1/auth/oidc/callback nenhuma
HOLYARRS_OIDC_ALLOW_JOIN As pessoas novas entram como membros que só podem pedir false
HOLYARRS_OIDC_ALLOW_LOCAL_NETWORK Permite um fornecedor na tua rede privada false
HOLYARRS_OIDC_ALLOW_LOOPBACK_HTTP Permite HTTP simples em loopback, para testes false
HOLYARRS_FORWARD_AUTH_ENABLED Ativa o início de sessão por proxy de confiança false
HOLYARRS_FORWARD_AUTH_ISSUER Nome HTTPS estável para este proxy. Um valor novo conta como uma origem nova nenhuma
HOLYARRS_FORWARD_AUTH_TRUSTED_PEERS Endereços ou intervalos de proxies separados por vírgulas. Obrigatório. Um intervalo com todos os endereços é recusado nenhuma
HOLYARRS_FORWARD_AUTH_ALLOW_JOIN Os nomes novos do proxy entram como membros que só podem pedir false

As duas definições ALLOW_LOCAL_NETWORK e ALLOW_LOOPBACK_HTTP aplicam-se também ao início de sessão único configurado nas Definições.

Como funciona o início de sessão único
  • O fornecedor tem de suportar o início de sessão por código de autorização com PKCE S256 e tokens RS256, com todos os endpoints na origem do emissor.
  • As contas são associadas pelo id de conta do próprio fornecedor, nunca pelo email.
  • As funções e os grupos do fornecedor não são usados.
  • O client secret é guardado cifrado e nunca mais é mostrado. Deixa o campo vazio para o manter.

O HolyArrs é gratuito. Se te poupou tempo, dá-lhe uma estrela no GitHub, patrocina-o ou oferece-me um café.