Skip to content

Commit 1dc3085

Browse files
committed
perf(basicauth-apikey): Use token if attempting to authenticate with username apikey and password <apikey>
1 parent c35a73f commit 1dc3085

File tree

1 file changed

+34
-8
lines changed

1 file changed

+34
-8
lines changed

Scripts/Utilities/Credentials.cs

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public class Credentials
3535
private IamTokenData _iamTokenData;
3636
private string _iamApiKey;
3737
private string _userAcessToken;
38+
private const string APIKEY_AS_USERNAME = "apikey";
3839
#endregion
3940

4041
#region Public Fields
@@ -118,10 +119,7 @@ public Credentials(string url = null)
118119
/// <param name="url">The service endpoint.</param>
119120
public Credentials(string username, string password, string url = null)
120121
{
121-
Username = username;
122-
Password = password;
123-
if(!string.IsNullOrEmpty(url))
124-
Url = url;
122+
SetCredentials(username, password, url);
125123
}
126124

127125
/// <summary>
@@ -141,7 +139,35 @@ public Credentials(string apiKey, string url = null)
141139
/// <param name="iamTokenOptions"></param>
142140
public Credentials(TokenOptions iamTokenOptions, string serviceUrl = null)
143141
{
144-
if(!string.IsNullOrEmpty(serviceUrl))
142+
SetCredentials(iamTokenOptions, serviceUrl);
143+
}
144+
#endregion
145+
146+
#region SetCredentials
147+
private void SetCredentials(string username, string password, string url = null)
148+
{
149+
if (username == APIKEY_AS_USERNAME)
150+
{
151+
TokenOptions tokenOptions = new TokenOptions()
152+
{
153+
IamApiKey = password
154+
};
155+
156+
SetCredentials(tokenOptions, url);
157+
}
158+
else
159+
{
160+
Username = username;
161+
Password = password;
162+
}
163+
164+
if (!string.IsNullOrEmpty(url))
165+
Url = url;
166+
}
167+
168+
private void SetCredentials(TokenOptions iamTokenOptions, string serviceUrl = null)
169+
{
170+
if (!string.IsNullOrEmpty(serviceUrl))
145171
Url = serviceUrl;
146172
_iamUrl = !string.IsNullOrEmpty(iamTokenOptions.IamUrl) ? iamTokenOptions.IamUrl : "https://iam.bluemix.net/identity/token";
147173
_iamTokenData = new IamTokenData();
@@ -155,7 +181,7 @@ public Credentials(TokenOptions iamTokenOptions, string serviceUrl = null)
155181
GetToken();
156182
}
157183
#endregion
158-
184+
159185
#region Get Token
160186
/// <summary>
161187
/// This function sends an access token back through a callback. The source of the token
@@ -536,9 +562,9 @@ public class VcapCredentials
536562
public List<VcapCredential> GetCredentialByname(string name)
537563
{
538564
List<VcapCredential> credentialsList = new List<VcapCredential>();
539-
foreach(KeyValuePair<string, List<VcapCredential>> kvp in VCAP_SERVICES)
565+
foreach (KeyValuePair<string, List<VcapCredential>> kvp in VCAP_SERVICES)
540566
{
541-
foreach(VcapCredential credential in kvp.Value)
567+
foreach (VcapCredential credential in kvp.Value)
542568
{
543569
if (credential.Name == name)
544570
credentialsList.Add(credential);

0 commit comments

Comments
 (0)