コード例 #1
0
 public async Task AddPasswordResetRequest(Guid memberId, DateTime created, DateTime expires, string token)
 {
     MemberPasswordResetRequest request = new MemberPasswordResetRequest(Guid.Empty, memberId, created, expires, token);
     await Context
     .Insert(request)
     .ExecuteAsync();
 }
コード例 #2
0
        public async Task ResetPassword(string token, string password)
        {
            const string message = "Link is invalid or has expired. Please request a new link using the password reset form.";

            MemberPasswordResetRequest request = await _memberRepository.GetPasswordResetRequest(token);

            if (request == null)
            {
                throw new OdkServiceException(message);
            }

            if (request.Expires < DateTime.UtcNow)
            {
                await _memberRepository.DeletePasswordResetRequest(request.Id);

                throw new OdkServiceException(message);
            }

            await UpdatePassword(request.MemberId, password);

            await _memberRepository.DeletePasswordResetRequest(request.Id);
        }