コード例 #1
0
ファイル: KeyManager.cs プロジェクト: shahedk/ApiGateway
        public async Task <KeyModel> Create(string ownerPublicKey, KeyModel model)
        {
            var existing = await _keyData.GetByPublicKey(model.PublicKey);

            if (existing != null)
            {
                throw new ApiGatewayException("A key with same PublicKey already exists", HttpStatusCode.BadRequest);
            }

            var ownerKey = await _keyData.GetByPublicKey(ownerPublicKey);

            model.OwnerKeyId = ownerKey.Id;

            var result = await _keyData.Create(model);

            await ReGenerateSecret1(ownerPublicKey, result.PublicKey);

            var keyModel = await ReGenerateSecret2(ownerPublicKey, result.PublicKey);

            _logger.LogInformation(LogEvents.NewKeyCreated, string.Empty, ownerPublicKey, model.PublicKey);

            return(keyModel);
        }