Skip to content

Commit 3966353

Browse files
committed
fix(authentication): use variables instead of vars[*] when deciding on authentication
1 parent 2a1269e commit 3966353

File tree

1 file changed

+27
-26
lines changed

1 file changed

+27
-26
lines changed

lib/ibm_cloud_sdk_core/base_service.rb

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -45,37 +45,13 @@ def initialize(vars)
4545
@icp4d_url = vars[:icp4d_url]
4646
@iam_url = vars[:iam_url]
4747
@iam_apikey = vars[:iam_apikey]
48+
@iam_access_token = vars[:iam_access_token]
4849
@token_manager = nil
4950
@authentication_type = vars[:authentication_type].downcase unless vars[:authentication_type].nil?
5051
@temp_headers = nil
5152
@disable_ssl_verification = false
5253
@display_name = vars[:display_name]
5354

54-
if @authentication_type == "iam" || ((!vars[:iam_access_token].nil? || !vars[:iam_apikey].nil?) && !@icp_prefix)
55-
iam_token_manager(iam_apikey: vars[:iam_apikey], iam_access_token: vars[:iam_access_token],
56-
iam_url: vars[:iam_url], iam_client_id: vars[:iam_client_id],
57-
iam_client_secret: vars[:iam_client_secret])
58-
elsif !vars[:iam_apikey].nil? && @icp_prefix
59-
@username = "apikey"
60-
@password = vars[:iam_apikey]
61-
elsif @authentication_type == "icp4d" || !vars[:icp4d_access_token].nil?
62-
icp4d_token_manager(icp4d_access_token: vars[:icp4d_access_token], icp4d_url: vars[:icp4d_url],
63-
username: vars[:username], password: vars[:password])
64-
elsif !vars[:username].nil? && !vars[:password].nil?
65-
if vars[:username] == "apikey" && !@icp_prefix
66-
iam_apikey(iam_apikey: vars[:password])
67-
else
68-
@username = vars[:username]
69-
@password = vars[:password]
70-
end
71-
end
72-
73-
if @display_name && !@username && !@iam_apikey
74-
service_name = @display_name.sub(" ", "_").downcase
75-
load_from_credential_file(service_name)
76-
@icp_prefix = @password&.start_with?("icp-") || @iam_apikey&.start_with?("icp-") ? true : false
77-
end
78-
7955
if vars[:use_vcap_services] && !@username && !@iam_apikey
8056
@vcap_service_credentials = load_from_vcap_services(service_name: vars[:vcap_services_name])
8157
if !@vcap_service_credentials.nil? && @vcap_service_credentials.instance_of?(Hash)
@@ -91,6 +67,31 @@ def initialize(vars)
9167
end
9268
end
9369

70+
if @display_name && !@username && !@iam_apikey
71+
service_name = @display_name.sub(" ", "_").downcase
72+
load_from_credential_file(service_name)
73+
@icp_prefix = @password&.start_with?("icp-") || @iam_apikey&.start_with?("icp-") ? true : false
74+
end
75+
76+
if @authentication_type == "iam" || ((!@iam_access_token.nil? || !@iam_apikey.nil?) && !@icp_prefix)
77+
iam_token_manager(iam_apikey: @iam_apikey, iam_access_token: @iam_access_token,
78+
iam_url: @iam_url, iam_client_id: @iam_client_id,
79+
iam_client_secret: @iam_client_secret)
80+
elsif !@iam_apikey.nil? && @icp_prefix
81+
@username = "apikey"
82+
@password = vars[:iam_apikey]
83+
elsif @authentication_type == "icp4d" || !@icp4d_access_token.nil?
84+
icp4d_token_manager(icp4d_access_token: @icp4d_access_token, icp4d_url: @icp4d_url,
85+
username: @username, password: @password)
86+
elsif !@username.nil? && !@password.nil?
87+
if @username == "apikey" && !@icp_prefix
88+
iam_apikey(iam_apikey: @password)
89+
else
90+
@username = @username
91+
@password = @password
92+
end
93+
end
94+
9495
raise ArgumentError.new('The username shouldn\'t start or end with curly brackets or quotes. Be sure to remove any {} and \" characters surrounding your username') if check_bad_first_or_last_char(@username)
9596
raise ArgumentError.new('The password shouldn\'t start or end with curly brackets or quotes. Be sure to remove any {} and \" characters surrounding your password') if check_bad_first_or_last_char(@password)
9697
raise ArgumentError.new('The url shouldn\'t start or end with curly brackets or quotes. Be sure to remove any {} and \" characters surrounding your url') if check_bad_first_or_last_char(@url)
@@ -110,7 +111,7 @@ def load_from_credential_file(service_name, separator = "=")
110111

111112
# Home directory
112113
if credential_file_path.nil?
113-
file_path = ENV["HOME"] + DEFAULT_CREDENTIALS_FILE_NAME
114+
file_path = ENV["HOME"] + "/" + DEFAULT_CREDENTIALS_FILE_NAME
114115
credential_file_path = file_path if File.exist?(file_path)
115116
end
116117

0 commit comments

Comments
 (0)