private bool EnsureSecureStoreTargetApplication(bool forceCreate, out ISecureStore store, out string applicationId) { store = GetSecureStore(this.Adapter.Site); applicationId = GetSecureStoreTargetApplicationID(); try { store.GetApplication(applicationId); return(true); } catch (SecureStoreServiceTargetApplicationNotFoundException) { if (forceCreate) { using (BypassValidateFormDigest()) { store.CreateApplication(new TargetApplication( applicationId: applicationId, friendlyName: String.Concat(this.Key, " (", this.Adapter.Web.Lists[this.Adapter.ListId].RootFolder.Url, ")"), contactEmail: "", ticketTimeoutInMinutes: 30, type: TargetApplicationType.Individual, credentialManagementUrl: new Uri("http://tempuri.org")), new[] { new TargetApplicationField("Password", true, SecureStoreCredentialType.Password) }, new TargetApplicationClaims(GetServiceAccounts(), new SecureStoreServiceClaim[0], new SecureStoreServiceClaim[0])); } return(true); } } return(false); }
private TargetApplication CreateOject(object modelHost, ISecureStore hostSecureStore, TargetApplicationDefinition definition) { var appType = (TargetApplicationType)Enum.Parse(typeof(TargetApplicationType), definition.Type); var secureStoreClaimns = new List <SecureStoreServiceClaim>(); foreach (var claim in definition.TargetApplicationClams) { secureStoreClaimns.Add(GetSecureStoreClaim(claim)); } var appClaims = new TargetApplicationClaims(secureStoreClaimns, null, null); var appFields = GetFields(definition); hostSecureStore.CreateApplication( new TargetApplication(definition.ApplicationId, definition.FriendlyName, definition.ContactEmail, definition.TicketTimeout, appType, new Uri(definition.CredentialManagementUrl)), appFields, appClaims); return(GetCurrentObject(hostSecureStore, definition)); }
private TargetApplication CreateOject(object modelHost, ISecureStore hostSecureStore, TargetApplicationDefinition definition) { var appType = (TargetApplicationType)Enum.Parse(typeof(TargetApplicationType), definition.Type); var secureStoreClaimns = new List<SecureStoreServiceClaim>(); foreach (var claim in definition.TargetApplicationClams) secureStoreClaimns.Add(GetSecureStoreClaim(claim)); var appClaims = new TargetApplicationClaims(secureStoreClaimns, null, null); var appFields = GetFields(definition); hostSecureStore.CreateApplication( new TargetApplication(definition.ApplicationId, definition.FriendlyName, definition.ContactEmail, definition.TicketTimeout, appType, new Uri(definition.CredentialManagementUrl)), appFields, appClaims); return GetCurrentObject(hostSecureStore, definition); }