Beispiel #1
0
 public ApiAccountEntity GenerateApiKey(ApiAccountEntity account)
 {
     if (account.ApiAccountType != ApiAccountType.Hmac)
     {
         throw new InvalidOperationException(SecurityAccountExceptions.NonHmacKeyGenerationException);
     }
     account.SecretKey = ConvertBytesToHexString(GetRandomBytes(64));
     return(account);
 }
        public static ApiAccount ToCoreModel(this ApiAccountEntity entity)
        {
            var result = new ApiAccount();

            result = Mapper.Map <ApiAccountEntity, ApiAccount>(entity);
            result.ApiAccountType = entity.ApiAccountType;
            result.IsActive       = entity.IsActive;

            return(result);
        }
        /// <summary>
        /// Patch changes
        /// </summary>
        /// <param name="source"></param>
        /// <param name="target"></param>
        public static void Patch(this ApiAccountEntity source, ApiAccountEntity target)
        {
            if (target == null)
            {
                throw new ArgumentNullException("target");
            }

            //  var patchInjection = new PatchInjection<ApiAccountEntity>(x => x.Name, x => x.ApiAccountType, x => x.IsActive, x => x.SecretKey, x => x.AppId);
            //  target.InjectFrom(patchInjection, source);
        }
        private bool IsValidSignature(ApiRequestSignature signature, ApiAccountEntity credentials)
        {
            var parameters = new[]
            {
                new NameValuePair(null, signature.AppId),
                new NameValuePair(null, signature.TimestampString)
            };

            var validSignature = HmacUtility.GetHashString(Options.HmacFactory, credentials.SecretKey, parameters);
            var isValid        = string.Equals(signature.Hash, validSignature, StringComparison.OrdinalIgnoreCase);

            return(isValid);
        }
        public ApiAccountEntity GenerateApiCredentials(ApiAccountType type)
        {
            var result = new ApiAccountEntity
            {
                ApiAccountType = type,
                AppId          = Guid.NewGuid().ToString("N")
            };

            if (type == ApiAccountType.Hmac)
            {
                result.SecretKey = ConvertBytesToHexString(GetRandomBytes(64));
            }

            return(result);
        }
Beispiel #6
0
        public ApiAccountEntity GenerateApiCredentials(ApiAccountType type)
        {
            var result = new ApiAccountEntity
            {
                ApiAccountType = type,
                AppId          = Guid.NewGuid().ToString("N")
            };

            if (type == ApiAccountType.Hmac)
            {
                result = GenerateApiKey(result);
            }

            return(result);
        }
        public static ApiAccountEntity ToDataModel(this ApiAccount model)
        {
            var result = new ApiAccountEntity();

            result    = Mapper.Map <ApiAccount, ApiAccountEntity>(model);
            result.Id = model.Id;

            if (model.IsActive != null)
            {
                result.IsActive = model.IsActive.Value;
            }

            result.ApiAccountType = model.ApiAccountType;

            return(result);
        }