/// <summary> /// Creates/Gets OAuth credentials /// </summary> /// <returns></returns> private async Task <OAuth2Client> CreateAdminUserOAuthCredentials() { using (IOAuth2ClientManager oAuth2ClientManager = GetServiceFactory().CreateProxy <IOAuth2ClientManager>()) { DTOs.User user = GetUser(_userName); List <OAuth2Client> oAuths = await oAuth2ClientManager.ReadAllAsync(); if (oAuths.Exists(x => x.Name.Equals(_oAuth2Name))) { if (oAuths.Exists(x => x.Name.Equals(_oAuth2Name) && x.ContextUser == user.ArtifactID)) { Console.WriteLine($"User ({user.EmailAddress}) already has OAuth2 Credentials within ({_oAuth2Name})"); return(oAuths.Find(x => x.Name.Equals(_oAuth2Name) && x.ContextUser == user.ArtifactID)); } throw new Exception($"A different user was has OAuth2 Credentials within ({_oAuth2Name})"); } OAuth2Client oAuthResult = await oAuth2ClientManager.CreateAsync(_oAuth2Name, OAuth2Flow.ClientCredentials, new List <Uri>(), user.ArtifactID); if (oAuthResult != null) { Console.WriteLine($"Created OAuth2 Client Credentials for ({user.EmailAddress}) within ({oAuthResult.Name})"); return(oAuthResult); } else { throw new Exception($"Failed to create OAuth2 Client Credentials for ({user.EmailAddress}) within ({_oAuth2Name})"); } } }
/// <summary> /// Removes the DynamicAPI group and Workspace that was created (for Admin usage) /// </summary> public void Cleanup() { //Delete Group DeleteDynamicApiGroup(_dynamicApiGroupId); //Delete OAuth using (IOAuth2ClientManager oAuth2ClientManager = GetServiceFactory().CreateProxy <IOAuth2ClientManager>()) { oAuth2ClientManager.DeleteAsync(_clientId).Wait(); } }