public IdentityService(IOptions <AuthSettings> authSettings, IHttpClientFactory httpClientFactory) { var httpClient = httpClientFactory.CreateClient("identity"); _authSettings = authSettings.Value; _clientws = new IetClient(httpClient, _authSettings.IamKey); }
public async Task <IActionResult> GetPPSAssociation(string key, PPSAssociationsSearchField field, string fieldValue, string retType = "default") { var clientws = new IetClient(key); if (retType.Equals("people", StringComparison.OrdinalIgnoreCase)) { return(Ok(await clientws.PPSAssociations.Search <PeopleResults>(field, fieldValue, "people"))); } return(Ok(await clientws.PPSAssociations.Search(field, fieldValue))); }
public IetWsSearchService(IOptions <AppSettings> configuration) { var settings = configuration.Value; ietClient = new IetClient(settings.IetWsKey); }
public IetWsDirectorySearchService() { ietClient = new IetClient(CloudConfigurationManager.GetSetting("IetWsKey")); }
public PPSDepartmentRequest(IetClient client) : base(client) { }
/// <summary> /// Debugging method for when azure isn't returning what is expected /// </summary> /// <returns></returns> public async Task <JsonNetResult> Test(string id) { //var _searcher = // new GraphSearchClient( // new ActiveDirectoryConfigurationValues( // tenantName: CloudConfigurationManager.GetSetting("AzureSearchTenantName"), // tenantId: CloudConfigurationManager.GetSetting("AzureSearchTenantId"), // clientId: CloudConfigurationManager.GetSetting("AzureSearchClientId"), // clientSecret: CloudConfigurationManager.GetSetting("AzureSearchClientSecret"))); var _searcher = new IetClient(CloudConfigurationManager.GetSetting("IetWsKey")); if (id != null && id.Contains("@")) { var ucdContactResult = await _searcher.Contacts.Search(ContactSearchField.email, id); if (ucdContactResult.ResponseStatus != 0 || ucdContactResult.ResponseData.Results.Length <= 0) { return(new JsonNetResult(new IetWsDirectorySearchService.Person())); } var ucdContact = ucdContactResult.ResponseData.Results.First(); // now look up the whole person's record by ID including kerb var ucdKerbResult = await _searcher.Kerberos.Search(KerberosSearchField.iamId, ucdContact.IamId); var allTheSame = ucdKerbResult.ResponseData.Results.Select(a => new { a.UserId, a.IamId }).Distinct().ToList(); if (allTheSame.Count > 1) { throw new Exception("More than 1 unique kerb values found."); } if (ucdKerbResult.ResponseStatus != 0 || ucdKerbResult.ResponseData.Results.Length <= 0) { return(new JsonNetResult(new IetWsDirectorySearchService.Person())); } var ucdKerbPerson = ucdKerbResult.ResponseData.Results.First(); var xxx = new IetWsDirectorySearchService.Person { GivenName = ucdKerbPerson.DFirstName, Surname = ucdKerbPerson.DLastName, FullName = ucdKerbPerson.DFullName, Kerberos = ucdKerbPerson.UserId, Mail = ucdContact.Email, WorkPhone = ucdContact.WorkPhone }; return(new JsonNetResult(xxx)); } else { var ucdKerbResult = await _searcher.Kerberos.Search(KerberosSearchField.userId, id); if (ucdKerbResult.ResponseStatus != 0 || ucdKerbResult.ResponseData.Results.Length <= 0) { return(new JsonNetResult(new IetWsDirectorySearchService.Person())); } var allTheSame = ucdKerbResult.ResponseData.Results.Select(a => new { a.UserId, a.IamId }).Distinct().ToList(); if (allTheSame.Count > 1) { throw new Exception("More than 1 unique kerb values found."); } var ucdKerbPerson = ucdKerbResult.ResponseData.Results.First(); var ucdContactResult = await _searcher.Contacts.Search(ContactSearchField.iamId, ucdKerbPerson.IamId); if (ucdContactResult.ResponseStatus != 0 || ucdContactResult.ResponseData.Results.Length <= 0) { return(new JsonNetResult(new IetWsDirectorySearchService.Person())); } var ucdContact = ucdContactResult.ResponseData.Results.First(); var xxx = new IetWsDirectorySearchService.Person { GivenName = ucdKerbPerson.DFirstName, Surname = ucdKerbPerson.DLastName, FullName = ucdKerbPerson.DFullName, Kerberos = ucdKerbPerson.UserId, Mail = ucdContact.Email, WorkPhone = ucdContact.WorkPhone }; return(new JsonNetResult(xxx)); } }
public async Task <IActionResult> GetContacts(string key, string id) { var clientws = new IetClient(key); return(Ok(await clientws.Contacts.Get(id))); }