4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/vaultez/commands/auth.rb', line 4
def login
puts "Email: "
email = $stdin.gets.chomp
puts "Password: "
system("stty -echo")
password = $stdin.gets.chomp
system("stty echo")
puts
puts "One-time code (Proton Authenticator / TOTP): "
otp_code = $stdin.gets.chomp
client = Vaultez::Client.new
response = client.login(email, password, otp_code)
Vaultez::Config.set("token", response["token"])
puts "Logged in successfully."
rescue Vaultez::TwoFactorRequiredError => error
puts "Error: #{error.message}"
puts "Set up two-factor authentication at https://vaultez.app/two_factor/new"
exit 1
rescue Vaultez::AuthenticationError => error
puts "Error: #{error.message}"
exit 1
end
|