@@ -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