Module: Compliance::API::Login::ComplianceServer
- Defined in:
- lib/bundles/inspec-compliance/api/login.rb
Class Method Summary collapse
- .compliance_login_refresh_token(options) ⇒ Object
- .compliance_login_user_pass(options) ⇒ Object
- .compliance_store_access_token(options, token) ⇒ Object
-
.compliance_verify_thor_options(o) ⇒ Object
Compliance login requires ‘–user` or `–refresh_token` If `–user` then either `–password`, `–token`, or `–refresh-token`, is required.
- .login(options) ⇒ Object
Class Method Details
.compliance_login_refresh_token(options) ⇒ Object
147 148 149 150 151 152 153 154 155 156 |
# File 'lib/bundles/inspec-compliance/api/login.rb', line 147 def self.compliance_login_refresh_token() success, msg, token = Compliance::API.get_token_via_refresh_token( ['url'], ['refresh_token'], ['insecure'], ) raise msg unless success compliance_store_access_token(, token) end |
.compliance_login_user_pass(options) ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/bundles/inspec-compliance/api/login.rb', line 135 def self.compliance_login_user_pass() success, msg, token = Compliance::API.get_token_via_password( ['url'], ['user'], ['password'], ['insecure'], ) raise msg unless success compliance_store_access_token(, token) end |
.compliance_store_access_token(options, token) ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/bundles/inspec-compliance/api/login.rb', line 158 def self.compliance_store_access_token(, token) config = Compliance::Configuration.new config.clean config['user'] = ['user'] if ['user'] config['server'] = ['url'] config['insecure'] = ['insecure'] || false config['server_type'] = ['server_type'].to_s config['token'] = token config['version'] = Compliance::API.version(config) config.store config end |
.compliance_verify_thor_options(o) ⇒ Object
Compliance login requires ‘–user` or `–refresh_token` If `–user` then either `–password`, `–token`, or `–refresh-token`, is required
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/bundles/inspec-compliance/api/login.rb', line 175 def self.(o) error_msg = [] error_msg.push('Please specify a server using `inspec compliance login https://SERVER`') if o['server'].nil? if o['user'].nil? && o['refresh_token'].nil? error_msg.push('Please specify a `--user=\'USER\'` or a `--refresh-token=\'TOKEN\'`') end if o['user'] && o['password'].nil? && o['token'].nil? && o['refresh_token'].nil? error_msg.push('Please specify either a `--password`, `--token`, or `--refresh-token`') end raise ArgumentError, error_msg.join("\n") unless error_msg.empty? end |
.login(options) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/bundles/inspec-compliance/api/login.rb', line 121 def self.login() () ['url'] = ['server'] + '/api' if ['user'] && ['token'] compliance_store_access_token(, ['token']) elsif ['user'] && ['password'] compliance_login_user_pass() elsif ['refresh_token'] compliance_login_refresh_token() end end |