private void DeployAppPrincipal(object modelHost, WebModelHost webHost, AppPrincipalDefinition appPrincipalModel) { var context = webHost.HostWeb.Context; var appPrincipalManager = AppPrincipalManager.GetManager(context, webHost.HostWeb); var principal = FindExistingAppPrincipal(webHost, appPrincipalModel); context.ExecuteQueryWithTrace(); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = principal, ObjectType = typeof(AppPrincipal), ObjectDefinition = appPrincipalModel, ModelHost = modelHost }); if (principal == null) { var endpoints = new List <string>(); endpoints.Add(appPrincipalModel.RedirectURI); var now = DateTime.Now; var credential = AppPrincipalCredential.CreateFromSymmetricKey(context, appPrincipalModel.AppSecret, now, now.AddYears(1)); var externalAppPrincipalCreationParameters = new ExternalAppPrincipalCreationParameters() { AppIdentifier = appPrincipalModel.AppId, DisplayName = appPrincipalModel.Title, Credential = credential, ApplicationEndpointAuthorities = endpoints }; principal = appPrincipalManager.CreateAppPrincipal(externalAppPrincipalCreationParameters); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = principal, ObjectType = typeof(AppPrincipal), ObjectDefinition = appPrincipalModel, ModelHost = modelHost }); } else { InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = principal, ObjectType = typeof(AppPrincipal), ObjectDefinition = appPrincipalModel, ModelHost = modelHost }); } }
private void DeployAppPrincipal(object modelHost, WebModelHost webHost, AppPrincipalDefinition appPrincipalModel) { var context = webHost.HostWeb.Context; var appPrincipalManager = AppPrincipalManager.GetManager(context, webHost.HostWeb); var principal = FindExistingAppPrincipal(webHost, appPrincipalModel); context.ExecuteQueryWithTrace(); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = principal, ObjectType = typeof(AppPrincipal), ObjectDefinition = appPrincipalModel, ModelHost = modelHost }); if (principal == null) { var endpoints = new List<string>(); endpoints.Add(appPrincipalModel.RedirectURI); var now = DateTime.Now; var credential = AppPrincipalCredential.CreateFromSymmetricKey(context, appPrincipalModel.AppSecret, now, now.AddYears(1)); var externalAppPrincipalCreationParameters = new ExternalAppPrincipalCreationParameters() { AppIdentifier = appPrincipalModel.AppId, DisplayName = appPrincipalModel.Title, Credential = credential, ApplicationEndpointAuthorities = endpoints }; principal = appPrincipalManager.CreateAppPrincipal(externalAppPrincipalCreationParameters); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = principal, ObjectType = typeof(AppPrincipal), ObjectDefinition = appPrincipalModel, ModelHost = modelHost }); } else { InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = principal, ObjectType = typeof(AppPrincipal), ObjectDefinition = appPrincipalModel, ModelHost = modelHost }); } }