/// <summary> /// Constructor taking the underlying TableEntity object that is read/written in Azure Storage /// </summary> /// <param name="credential"></param> internal OAuth2AzureCredential(OAuth2AzureCredentialData credential) { this.credential = credential; }
/// <summary> /// Creates a new consumer key and consumer secret pair for the specified username. /// You may also store extra name value pairs as credential properties which can be accessed when the credential is retrieved. /// </summary> /// <param name="username"></param> /// <param name="properties"></param> /// <returns></returns> public override OAuth2Credential CreateCredential(string username, Dictionary<string, string> properties) { string gKey = Guid.NewGuid().ToString(); string consumer_Key = Convert.ToBase64String(Encoding.UTF8.GetBytes(gKey)); string gSecret = Guid.NewGuid().ToString(); string consumer_Secret = Convert.ToBase64String(Encoding.UTF8.GetBytes(gSecret)); OAuth2AzureCredentialData credential = new OAuth2AzureCredentialData(consumer_Key, consumer_Secret); credential.username = username; credential.properties = properties; OAuth2CredentialReference reference = new OAuth2CredentialReference(username, consumer_Key, consumer_Secret); try { TableOperation op = TableOperation.InsertOrReplace(credential); table.Execute(op); TableOperation op2 = TableOperation.InsertOrReplace(reference); table.Execute(op2); return new OAuth2AzureCredential(credential); } catch (Exception) { return null; } }