Ejemplo n.º 1
0
        private (bool IsSuccess, string Message) GenerateResetToken(Member member, MemberResetTokenType type)
        {
            string token = Guid.NewGuid().ToString();

            if (type == MemberResetTokenType.Email)
            {
                member.Options.EmailToken = token;
            }
            else if (type == MemberResetTokenType.Password)
            {
                var tokener = new ResetTokenVm
                {
                    Token  = token,
                    Expire = DateTime.UtcNow
                };

                string jsonString  = JsonConvert.SerializeObject(tokener);
                string stringToken = Cryptography.Encrypt(jsonString, member.CryptoKey);
                stringToken = Cryptography.EncryptToUrlFriendly(stringToken);

                member.Options.ResetToken = stringToken;

                token = stringToken;
            }

            DataAccess.MemberOption.Update(member.Options);
            DataAccess.Save();

            return(true, token);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Generates a new Reset Token to be use to re-verify email or reset password.
        /// </summary>
        /// <param name="loginProviderKey">Login Provider Key</param>
        /// <param name="type">Member Reset Token Type</param>
        /// <returns>Token</returns>
        public (string Token, bool IsSuccess) RequestToken(string loginProviderKey, MemberResetTokenType type)
        {
            var resp = Post <string>(API_MEMBER_BASE + "RequestResetToken/", new
            {
                ProviderKey = loginProviderKey,
                Type        = type
            });

            return(resp.Response, resp.IsSuccess);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create a reset token for email and password.
        /// </summary>
        /// <param name="providerKey">Provider KEy</param>
        /// <param name="type">Member Reset Token Type</param>
        /// <returns><![CDATA[ (bool IsSuccess, string Token) ]]></returns>
        public (bool IsSuccess, string Token) CreateResetToken(string providerKey, MemberResetTokenType type)
        {
            var member = DataAccess.MemberLogin.Find(f => f.ProviderKey == providerKey)?.Member;

            if (member == null)
            {
                return(false, "");
            }

            return(GenerateResetToken(member, type));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Create a reset token for email and password.
        /// </summary>
        /// <param name="id">Member Id</param>
        /// <param name="type">Member Reset Token Type</param>
        /// <returns><![CDATA[ (bool IsSuccess, string Token) ]]></returns>
        public (bool IsSuccess, string Token) CreateResetToken(int id, MemberResetTokenType type)
        {
            var member = DataAccess.Member.GetById(id);

            if (member == null)
            {
                return(false, "");
            }

            return(GenerateResetToken(member, type));
        }