Example #1
0
 protected void SwitchContext(InputContextType type, bool state)
 {
     if (WantDisableContext != null)
     {
         WantDisableContext(type, this);
     }
 }
Example #2
0
 protected void DisableContext(InputContextType type)
 {
     if (WantDisableContext != null)
     {
         WantDisableContext(type, this);
     }
 }
Example #3
0
        private void ContextDisableHandler(InputContextType type, InputContextBase ctx)
        {
            var context = _contexts[type];

            if (context.IsEnabled())
            {
                _contexts[type].Disable();
            }
        }
        /// <summary>
        /// Validates the specified input.
        /// </summary>
        /// <param name="input">The input.</param>
        /// <returns></returns>
        public OutAccessCode Validate(InAccessCode input)
        {
            try
            {
                if (!string.IsNullOrEmpty(input.CredentialData))
                {
                    var concAccessCode = new StringBuilder("");
                    concAccessCode.Append(input.AccessCodeId.ToString());
                    concAccessCode.Append(input.CredentialData);
                    var inputContext = new InputContextType
                    {
                        CorporationId = (short)input.CorporationId,
                        ChannelId     = input.ChannelId,
                        Language      = input.Language
                    };
                    var existingAccessCode =
                        CredentialsMembershipDataAccess.GetAccessCodeValue(inputContext, input.AccessCodeId);
                    if (!PasswordHash.Validate(concAccessCode.ToString(), existingAccessCode))
                    {
                        throw new Exception("Validation failed");
                    }


                    // Clear token from database
                    var argonAccessCode = PasswordHash.Hash(DateTime.Now.Ticks.ToString());
                    Authentication.UpdatePassword((short)input.CorporationId, input.AccessCodeId, input.Language,
                                                  input.ChannelId, argonAccessCode);

                    return(new OutAccessCode
                    {
                        Success = true,
                        ActionFlags = SecurityCenterActionFlags.RestoreFailures
                    });
                }

                return(new OutAccessCode
                {
                    Success = false,
                    ActionFlags = SecurityCenterActionFlags.IncrementFailures
                });
            }
            catch (Exception e)
            {
                var error = new AccessCodeError {
                    ErrorCode = "0", ErrorMessage = e.Message, SystemErrorMessage = e.StackTrace
                };
                return(new OutAccessCode
                {
                    Error = error,
                    Success = false,
                    ActionFlags = SecurityCenterActionFlags.IncrementFailures
                });
            }
        }