Exemple #1
0
        public async Task <IEnumerable <TokenStoreHeader> > GetTokensAsync(
            CancellationToken cancellationToken)
        {
            var path    = SettingsStore.GetUserDirectory("auth_token");
            var entries = new List <TokenStoreHeader>();

            foreach (FileInfo?file in new DirectoryInfo(path).GetFiles())
            {
                TokenStoreModel?authData = await _authTokenStore.GetAsync(
                    file.Name,
                    cancellationToken);

                if (authData is null)
                {
                    continue;
                }

                IdentityRequestItem?request = await TryGetIdentityRequest(
                    authData,
                    cancellationToken);

                TokenStoreHeader entry = ToTokenHeader(authData, request);

                entries.Add(entry);
            }

            return(entries);
        }
Exemple #2
0
        public static void CreateLogger(string level = "warning")
        {
            var logPath = SettingsStore.GetUserDirectory("logs");

            if (Debugger.IsAttached)
            {
                level = "debug";
            }

            LoggerConfiguration logBuilder = new LoggerConfiguration()
                                             .WriteTo.File($"{logPath}/boost.txt", rollingInterval: RollingInterval.Day)
                                             .WriteTo.Console();

            switch (level.ToLower())
            {
            case "error":
                logBuilder.MinimumLevel.Error();
                break;

            case "warning":
            default:
                logBuilder.MinimumLevel.Warning();
                break;

            case "info":
                logBuilder.MinimumLevel.Information();
                break;

            case "debug":
                logBuilder.MinimumLevel.Debug();
                break;
            }

            Log.Logger = logBuilder.CreateLogger();
        }
        public IBoostDbContext Open(DbOpenMode mode)
        {
            string path     = Path.Combine(SettingsStore.GetUserDirectory(), "boost.db");
            bool   readOnly = (mode == DbOpenMode.ReadOnly) ? true : false;

            readOnly = false;

            if (_dbContext is null)
            {
                _dbContext = new BoostDbContext(
                    new LiteDatabase($"Filename={path};ReadOnly={readOnly.ToString().ToLower()}"));
            }

            return(_dbContext);
        }
Exemple #4
0
        public EncryptionKeySetting SetupNew()
        {
            Guid id       = Guid.NewGuid();
            var  password = Guid.NewGuid().ToString("N");

            X509Certificate2 cert = _certificateManager
                                    .CreateSelfSignedCertificate(
                CertificateSubjectName + $"-{id.ToString("N").Substring(0, 6)}",
                password);

            var certPath = System.IO.Path.Combine(
                SettingsStore.GetUserDirectory("key"), $"{cert.Thumbprint}.pfx");

            File.WriteAllBytes(certPath, cert.Export(X509ContentType.Pfx, password));
            _certificateManager.AddToStore(cert, StoreLocation.CurrentUser);

            var settings = new EncryptionKeySetting
            {
                Id         = id,
                Name       = Name,
                Parameters = new()
                {
 protected override void Configure(
     IObjectTypeDescriptor <UserSettings> descriptor)
 {
     descriptor.Field("location")
     .Resolve(c => SettingsStore.GetUserDirectory());
 }