示例#1
0
        public async Task <KeyModel> CreateRootKey()
        {
            var existingKeyCount = await _keyData.Count();

            if (existingKeyCount > 0)
            {
                var msg = _localizer["Root key can only be created for empty database"];
                throw new InvalidOperationException(msg);
            }

            var model = new KeyModel
            {
                Type       = ApiKeyTypes.ClientSecret,
                PublicKey  = "rootkey",
                Properties =
                {
                    [ApiKeyPropertyNames.ClientSecret1] = ModelHelper.GenerateSecret(),
                    [ApiKeyPropertyNames.ClientSecret2] = ModelHelper.GenerateSecret()
                }
            };


            var saved = await _keyData.Create(model);

            return(saved);
        }