public async Task <AADSP> CreateServicePrincipal(App app) { try { var newSP = new AADSP { AppId = app.AppId, DisplayName = app.DisplayName, ReplyUrls = app.Web.RedirectUris, AccountEnabled = true }; HttpResponseMessage rm; var formatter = new JsonMediaTypeFormatter(); formatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; HttpContent data = new ObjectContent <AADSP>(newSP, formatter); rm = await _web.PostAsync("https://graph.microsoft.com/beta/serviceprincipals", data); if (rm.Content != null) { var res = await rm.Content.ReadAsStringAsync(); if (!rm.IsSuccessStatusCode) { var err = JsonConvert.DeserializeObject <GraphError>(res); var msg = "Error creating application: " + err.Error.Message; Logging.WriteToAppLog(msg, EventLogEntryType.Error); LastError = msg; return(null); } var obj = JsonConvert.DeserializeObject <AADSPResponse>(res); return(obj); } else { LastError = "No content was returned"; return(null); } } catch (Exception ex) { Logging.WriteToAppLog("Error creating service principal", EventLogEntryType.Error, ex); LastError = "Error creating service principal: " + ex.Message; return(null); } }
public async Task <OAuth2PermissionGrants> CreateOAuth2PermissionGrants(AADSP appSP, string MSGraphOID) { try { var grant = new OAuth2PermissionGrants(appSP, MSGraphOID); HttpResponseMessage rm; var formatter = new JsonMediaTypeFormatter(); formatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; HttpContent data = new ObjectContent <OAuth2PermissionGrants>(grant, formatter); rm = await _web.PostAsync("https://graph.microsoft.com/beta/oauth2PermissionGrants", data); if (rm.Content != null) { var res = await rm.Content.ReadAsStringAsync(); if (!rm.IsSuccessStatusCode) { var err = JsonConvert.DeserializeObject <GraphError>(res); var msg = "Error creating application: " + err.Error.Message; Logging.WriteToAppLog(msg, EventLogEntryType.Error); LastError = msg; return(null); } var obj = JsonConvert.DeserializeObject <OAuth2PermissionGrants>(res); return(obj); } else { LastError = "No content was returned"; return(null); } } catch (Exception ex) { Logging.WriteToAppLog("Error creating service principal", EventLogEntryType.Error, ex); LastError = "Error creating service principal: " + ex.Message; return(null); } }