Segredos
As credenciais que suas operações usam para chamar serviços externos ficam guardadas em um cofre no projeto. Um valor é armazenado criptografado (o detalhe está na página de segurança), endereçado por referência e mantido fora dos seus arquivos de config.
Rótulos e referências
Um segredo tem um rótulo que você escolhe e um dono: o projeto, um app ou um dos seus usuários. Criá-lo devolve uma referência opaca, e essa referência é como ele passa a ser endereçado. Você pode armazenar um no console, em Configurações, com a CLI, ou commitando um arquivo foir.secrets.ts que declara rótulos e não guarda texto puro, e que foir secrets push reconcilia com o projeto.
Como um valor é lido
Para um endpoint que você hospeda, o token de despacho que chega com a chamada já concede a leitura. O handler chama getSecret com a referência e uma finalidade, e não guarda credenciais próprias. A finalidade é obrigatória e fica registrada.
Para uma chamada que o próprio Fóir faz, o template da requisição se refere a um segredo por um nome de placeholder, e um binding na operação associa esse nome à referência. O valor é resolvido no momento da chamada e nunca é armazenado na operação.
Quem pode ter acesso
Escopos para segredos podem ser mantidos por chaves de API secretas e nunca por chaves públicas. Uma operação que um dos seus usuários dispara pode armazenar um segredo que esse usuário possui, e só as operações desse usuário o leem de volta.
Rotação e exclusão
Rotacionar substitui o valor por trás de uma referência existente. Quem lê obtém o novo valor na próxima leitura, e nada precisa ser reimplantado. A exclusão é lógica: o segredo deixa de ser resolvido na hora e pode ser restaurado por 30 dias.
Leia os detalhes
O guia de segredos cobre como armazenar, ler e rotacionar um segredo, segredos pertencentes a um usuário e o que é auditado.