Module: Conjur::Authn
- Defined in:
- lib/conjur/authn.rb
Class Method Summary collapse
- .ask_for_credentials(options = {}) ⇒ Object
- .authenticate(options = {}) ⇒ Object
- .connect(cls = Conjur::API, options = {}) ⇒ Object
- .delete_credentials ⇒ Object
- .fetch_credentials(options = {}) ⇒ Object
- .get_credentials(options = {}) ⇒ Object
- .host ⇒ Object
- .login(options = {}) ⇒ Object
- .netrc ⇒ Object
- .read_credentials ⇒ Object
- .write_credentials ⇒ Object
Class Method Details
.ask_for_credentials(options = {}) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/conjur/authn.rb', line 48 def ask_for_credentials( = {}) raise "No credentials provided or found" if [:noask] # also use stderr here, because we might be prompting for a password as part # of a command like user:create that we'd want to send to a file. hl = HighLine.new $stdin, $stderr user = [:username] || hl.ask("Enter your username to log into Conjur: ") pass = [:password] || hl.ask("Please enter your password (it will not be echoed): "){ |q| q.echo = false } api_key = if cas_server = [:"cas-server"] Conjur::API.login_cas(user, pass, cas_server) else Conjur::API.login(user, pass) end @credentials = [user, api_key] end |
.authenticate(options = {}) ⇒ Object
12 13 14 |
# File 'lib/conjur/authn.rb', line 12 def authenticate( = {}) Conjur::API.authenticate(*get_credentials()) end |
.connect(cls = Conjur::API, options = {}) ⇒ Object
65 66 67 |
# File 'lib/conjur/authn.rb', line 65 def connect(cls = Conjur::API, = {}) cls.new_from_key(*get_credentials()) end |
.delete_credentials ⇒ Object
16 17 18 19 |
# File 'lib/conjur/authn.rb', line 16 def delete_credentials netrc.delete host netrc.save end |
.fetch_credentials(options = {}) ⇒ Object
37 38 39 40 |
# File 'lib/conjur/authn.rb', line 37 def fetch_credentials( = {}) ask_for_credentials() write_credentials end |
.get_credentials(options = {}) ⇒ Object
29 30 31 |
# File 'lib/conjur/authn.rb', line 29 def get_credentials( = {}) @credentials ||= (read_credentials || fetch_credentials()) end |
.login(options = {}) ⇒ Object
7 8 9 10 |
# File 'lib/conjur/authn.rb', line 7 def login( = {}) delete_credentials get_credentials() end |
.netrc ⇒ Object
25 26 27 |
# File 'lib/conjur/authn.rb', line 25 def netrc @netrc ||= Netrc.read end |
.read_credentials ⇒ Object
33 34 35 |
# File 'lib/conjur/authn.rb', line 33 def read_credentials netrc[host] end |
.write_credentials ⇒ Object
42 43 44 45 46 |
# File 'lib/conjur/authn.rb', line 42 def write_credentials netrc[host] = @credentials netrc.save @credentials end |