public async Task <List <AADObjectModel> > VaidateAADUserGroupObjectAsync(string aadObjectString) { List <AADObjectModel> aADObjects = new List <AADObjectModel>(); if (string.IsNullOrWhiteSpace(aadObjectString)) { return(aADObjects); } Task <List <AADObjectModel> > groupEqResults = ValidateGroupAsync(aadObjectString); AADObjectModel userResult = await ValidateUserAsync(aadObjectString); if (userResult.isValid) { aADObjects.Add(userResult); } aADObjects.AddRange(await groupEqResults); if (aADObjects.Count == 0) { Task <List <AADObjectModel> > userResults = ValidateUser2ChanceAsync(aadObjectString); Task <List <AADObjectModel> > groupResults = ValidateGroup2ChanceAsync(aadObjectString); aADObjects.AddRange(await userResults); aADObjects.AddRange(await groupResults); } return(aADObjects); }
private async Task <AADObjectModel> ValidateUserAsync(string aadObjectString) { AADObjectModel aADObject = new AADObjectModel(); UserGraphModel userResult; if (string.IsNullOrWhiteSpace(aadObjectString)) { return(new AADObjectModel() { isValid = false }); } try { string response = await CallGetApiAsync("https://graph.microsoft.com/v1.0/users/" + aadObjectString + "?$select=userPrincipalName,id"); if (response.Equals("NotFound")) { return(new AADObjectModel() { isValid = false }); } else { userResult = JsonConvert.DeserializeObject <UserGraphModel>(response); } aADObject.FriendlyName = userResult.UserPrincipalName; aADObject.ObjectId = userResult.Id; aADObject.ObjectType = "USER"; aADObject.isValid = true; } catch (Exception ex) { //swallow exception since it can only be that it is not the right format aADObject.isValid = false; } return(aADObject); }