mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-28 16:02:01 +03:00
Add Token credential request handling
Asking for 2FA Token prompt when an additional authentication is configured for git over SSH
This commit is contained in:
committed by
Jesse Duffield
parent
13bd4b964f
commit
8813587961
@ -284,6 +284,7 @@ const (
|
||||
Username
|
||||
Passphrase
|
||||
PIN
|
||||
Token
|
||||
)
|
||||
|
||||
// Whenever we're asked for a password we just enter a newline, which will
|
||||
@ -376,6 +377,7 @@ func (self *cmdObjRunner) getCheckForCredentialRequestFunc() func([]byte) (Crede
|
||||
`Username\s*for\s*'.+':`: Username,
|
||||
`Enter\s*passphrase\s*for\s*key\s*'.+':`: Passphrase,
|
||||
`Enter\s*PIN\s*for\s*.+\s*key\s*.+:`: PIN,
|
||||
`.*2FA Token.*`: Token,
|
||||
}
|
||||
|
||||
compiledPrompts := map[*regexp.Regexp]CredentialType{}
|
||||
|
@ -39,6 +39,8 @@ func TestProcessOutput(t *testing.T) {
|
||||
return "passphrase"
|
||||
case PIN:
|
||||
return "pin"
|
||||
case Token:
|
||||
return "token"
|
||||
default:
|
||||
panic("unexpected credential type")
|
||||
}
|
||||
@ -92,6 +94,12 @@ func TestProcessOutput(t *testing.T) {
|
||||
output: "Enter PIN for key '123':",
|
||||
expectedToWrite: "pin",
|
||||
},
|
||||
{
|
||||
name: "2FA token prompt",
|
||||
promptUserForCredential: defaultPromptUserForCredential,
|
||||
output: "testuser 2FA Token (citadel)",
|
||||
expectedToWrite: "token",
|
||||
},
|
||||
{
|
||||
name: "username and password prompt",
|
||||
promptUserForCredential: defaultPromptUserForCredential,
|
||||
|
@ -56,6 +56,8 @@ func (self *CredentialsHelper) getTitleAndMask(passOrUname oscommands.Credential
|
||||
return self.c.Tr.CredentialsPassphrase, true
|
||||
case oscommands.PIN:
|
||||
return self.c.Tr.CredentialsPIN, true
|
||||
case oscommands.Token:
|
||||
return self.c.Tr.CredentialsToken, true
|
||||
}
|
||||
|
||||
// should never land here
|
||||
|
@ -36,6 +36,7 @@ type TranslationSet struct {
|
||||
CredentialsPassword string
|
||||
CredentialsPassphrase string
|
||||
CredentialsPIN string
|
||||
CredentialsToken string
|
||||
PassUnameWrong string
|
||||
Commit string
|
||||
CommitTooltip string
|
||||
@ -1004,6 +1005,7 @@ func EnglishTranslationSet() *TranslationSet {
|
||||
CredentialsPassword: "Password",
|
||||
CredentialsPassphrase: "Enter passphrase for SSH key",
|
||||
CredentialsPIN: "Enter PIN for SSH key",
|
||||
CredentialsToken: "Enter Token for SSH key",
|
||||
PassUnameWrong: "Password, passphrase and/or username wrong",
|
||||
Commit: "Commit",
|
||||
CommitTooltip: "Commit staged changes.",
|
||||
|
Reference in New Issue
Block a user