public virtual string GetApplicationApiKey(string applicationClientId, int index) { CoreServices.ApplicationRegistration.Data.Application app = ApplicationRegistrationRepository.OneApplicationWhere(c => c.Cuid == applicationClientId); if (app != null) { return(app.ApiKeys[index]?.SharedSecret); } return(string.Empty); }
protected internal ApiKeyInfo GenerateApiKeyInfo(CoreServices.ApplicationRegistration.Data.Application app) { ApiKeyInfo info = new ApiKeyInfo { ApplicationNameProvider = new StaticApplicationNameProvider(app.Name), ApplicationClientId = app.Cuid, ApiKey = ServiceProxySystem.GenerateId() }; return(info); }
private static CoreServiceResponse GetApplicationRegistrationSuccessResult(CoreServiceResponse <CoreServices.ApplicationRegistration.Data.Application> appResponse) { CoreServices.ApplicationRegistration.Data.Application app = appResponse.TypedData(); return(new CoreServiceResponse <ApplicationRegistrationResult>( new ApplicationRegistrationResult { Status = ApplicationRegistrationStatus.Success, ClientId = app.Cuid, ApiKey = app.ApiKeys.First().SharedSecret }) { Success = true }); }
public virtual ApiKeyInfo AddApiKey() { if (ApplicationName.Equals(ApplicationDiagnosticInfo.UnknownApplication)) { throw new ApplicationNameNotSpecifiedException(); } CoreServices.ApplicationRegistration.Data.Application app = CompositeRepository.Query <CoreServices.ApplicationRegistration.Data.Application>(a => a.Name.Equals(base.ApplicationName)).FirstOrDefault(); if (app == null) { throw new InvalidOperationException("Application not registered"); } AddApiKey(ApplicationRegistrationRepository, app, out CoreServices.ApplicationRegistration.Data.ApiKey key); return(new ApiKeyInfo { ApplicationClientId = key.ClientId, ApiKey = key.SharedSecret, ApplicationName = ApplicationName }); }
public void GetClientAppShouldGetTheSameCuid() { ServiceRegistry registry = CoreServicesTestRegistry.GetServiceRegistry(); AuthSettingsService svc = registry.Get <AuthSettingsService>(); svc.HttpContext = registry.Get <IHttpContext>(); CoreServices.ApplicationRegistration.Data.Application check = svc.ApplicationRegistrationRepository.OneApplicationWhere(c => c.Name == svc.ClientApplicationName); if (check != null) { svc.ApplicationRegistrationRepository.Delete(check); } CoreServices.ApplicationRegistration.Data.Application toSave = new CoreServices.ApplicationRegistration.Data.Application { Name = svc.ClientApplicationName }; svc.ApplicationRegistrationRepository.Save(toSave); CoreServices.ApplicationRegistration.Data.Application app = svc.GetClientApplicationOrDie(); CoreServices.ApplicationRegistration.Data.Application app2 = svc.GetClientApplicationOrDie(); Expect.AreEqual(app.Name, app2.Name, "Names didn't match"); Expect.AreEqual(app.Cuid, app2.Cuid, "Cuids didn't match"); Expect.AreEqual(app.Uuid, app2.Uuid, "Uuids didn't match"); }
protected internal CoreServices.ApplicationRegistration.Data.Application AddApiKey(ApplicationRegistrationRepository repo, CoreServices.ApplicationRegistration.Data.Application app, out CoreServices.ApplicationRegistration.Data.ApiKey key) { ApiKeyInfo keyInfo = GenerateApiKeyInfo(app); key = CoreServices.ApplicationRegistration.Data.ApiKey.FromKeyInfo(keyInfo); key.Created = DateTime.UtcNow; key.CreatedBy = CurrentUser.UserName; app.ApiKeys.Add(key); app = repo.Save(app); return(app); }
/// <summary> /// Adds an api key and saves the app to the specified repository /// </summary> /// <param name="repo"></param> /// <param name="app"></param> /// <returns></returns> protected internal CoreServices.ApplicationRegistration.Data.Application AddApiKey(ApplicationRegistrationRepository repo, CoreServices.ApplicationRegistration.Data.Application app) { CoreServices.ApplicationRegistration.Data.ApiKey ignore; return(AddApiKey(repo, app, out ignore)); }
public string GetApplicationClientId(IApplicationNameProvider nameProvider) { CoreServices.ApplicationRegistration.Data.Application app = ApplicationRegistrationRepository.OneApplicationWhere(c => c.Name == nameProvider.GetApplicationName()); return(app?.Cuid); }