Esta documentação se refere às implantações federais do Devin. Voltar para a Documentação do Devin
Criar o arquivo de autenticação
O arquivo define exatamente um modo. Se o arquivo não existir, o produto se comporta como se ele contivesse
"mode": "license".
/etc/devin/auth.json
Campos desconhecidos são rejeitados. No modo
license, apenas schema_version e mode são permitidos.
Registre o cliente no seu IdP
A CLI executa o fluxo de código de autorização do OIDC com PKCE (S256) como um cliente público; não há segredo do cliente. O cliente que você registrar deve atender aos seguintes requisitos:- Ser um cliente público (sem segredo do cliente) com o ID definido em
client_id, por exemplodevin-cli, com a concessão de código de autorização ativada e o método PKCES256. - Ter
http://127.0.0.1/callbackregistrado como URI de redirecionamento válido. A CLI escuta em uma porta de loopback aleatória (http://127.0.0.1:<port>/callback) no fluxo pelo navegador e usa o endereço fixohttp://127.0.0.1/callbackno fluxo manual. Conforme a RFC 8252, o IdP deve ignorar a porta de loopback; se o seu não fizer isso, registre um curinga correspondente. - Se você quiser usar
required_group, o ID token deve conter a claim de associação a grupos indicada emgroups_claim(groupspor padrão). - O IdP deve retornar um ID token na renovação (a maioria faz isso quando o escopo
openidé concedido), e o tempo de vida do ID token para este cliente deve ser curto. Consulte Como a revogação se propaga para entender o motivo.
Entrar
Faça login em um terminal na estação de trabalho:127.0.0.1 que não vai carregar. Copie essa URL completa (incluindo os parâmetros de consulta) e cole-a no terminal.
Verificar o status e sair
Status: not logged in (<reason>), seguida de Run \devin auth login` to sign in.`
O que a CLI valida
O ID token é validado localmente: a assinatura com base no JWKS do IdP,iss, aud, a expiração (com tolerância de 120 segundos para diferenças de relógio), o nonce do login e a restrição por grupo. Os ID tokens e os tokens de atualização ficam em cache no armazenamento local de credenciais, com permissões restritas ao proprietário (0600), e são renovados silenciosamente junto ao IdP.
Quando o SSO está configurado e não há um login válido (e a renovação silenciosa falha), a CLI é encerrada na inicialização com um erro que orienta o usuário a executar devin auth login.
A CLI nunca segue redirecionamentos HTTP do IdP: um 3xx do endpoint de descoberta, de JWKS ou de token faz o login falhar com um erro que indica o endpoint. Portanto, issuer deve apontar para as URLs efetivamente disponibilizadas pelo IdP.
Os endpoints descobertos devem estar no mesmo host do emissor
Oauthorization_endpoint, o token_endpoint e o jwks_uri obtidos via descoberta devem ter o mesmo esquema, host e porta que o issuer (portas padrão são consideradas equivalentes). Um endpoint em qualquer outro host é rejeitado, e o login falha com um erro como:
hostname-backchannel-dynamic=true, em que token_endpoint e jwks_uri são reescritos para o nome do host interno pelo qual a CLI se conectou. Se, e somente se, você tiver confirmado na própria configuração do IdP que o host adicional é intencional, adicione-o:
host (qualquer porta) ou host:port, comparadas sem diferenciar maiúsculas de minúsculas. Não há suporte a curingas nem como desativar a verificação. A lista de permissões nunca flexibiliza o TLS: um endpoint http:// continua sendo recusado quando o emissor é https://. Não adicione um host só porque ele aparece em um erro de login; o erro indica que a verificação está funcionando.
Como a revogação se propaga
A restrição por grupo é feita sobre o ID token em cache. Por isso, remover um usuário dorequired_group (ou desativá-lo) no IdP só passa a valer na próxima atualização do token dele: no máximo quando o ID token atual expirar, mais os 120 segundos de tolerância de defasagem de relógio. Se a revogação rápida for importante, mantenha curta a validade do ID token deste cliente.
Se uma resposta de atualização não trouxer um novo ID token, o ID token em cache continua em uso, mas apenas por até 24 horas após o exp desse token. Depois disso, o usuário precisa entrar novamente, mesmo que o IdP ainda aceite o token de atualização.
Revalidação em sessões em execução
Enquanto o Devin Desktop (ou qualquer cliente do agente incluído) estiver em execução, o agente verifica novamente o login a cada 60 segundos e força a atualização do token junto ao IdP pelo menos a cada 15 minutos. Se uma verificação falhar, o agente registra um evento de auditoriasso_revalidation_failed com o código IDP, deixa de aceitar novos trabalhos e é encerrado; o usuário precisa fazer login novamente e reiniciar.
O que é auditado
A atividade de SSO é gravada no registro de auditoria local como eventosauth. Todo evento que tenha um token validado disponível inclui a identidade SSO em actor (sso_issuer, sso_subject, sso_user, sso_groups).
Códigos de erro do IDP
O catálogo completo está na página Códigos de erro.

