コード例 #1
0
        public async Task RefreshToken()
        {
            var user  = fillTestDbHelper.Users.FirstOrDefault();
            var vcode = await verificationCodesService.CreateVerificationCodeAsync(DateTime.UtcNow.ToUnixTime(), user.Id.ToString(), user.Id);

            var token = await tokensService.PhoneVCodeCreateTokenPairAsync(user.Phones.FirstOrDefault().PhoneNumber, vcode, null);

            await Assert.ThrowsAsync <InvalidTokenException>(async() => await tokensService.RefreshTokenPairAsync(user.Id, "bad token"));

            Assert.NotNull(await tokensService.RefreshTokenPairAsync(user.Id, token.RefreshToken));
        }
コード例 #2
0
        public async Task <Response> CreateResponseAsync()
        {
            try
            {
                TokenVm token = await tokensService.RefreshTokenPairAsync(request.UserId, request.RefreshToken).ConfigureAwait(false);

                clientConnection.FileAccessToken = RandomExtensions.NextString(64);
                return(new TokensResponse(
                           request.RequestId,
                           token.UserId,
                           token.AccessToken,
                           token.RefreshToken,
                           clientConnection.FileAccessToken));
            }
            catch (InvalidTokenException ex)
            {
                Logger.WriteLog(ex, request);
                return(new ResultResponse(request.RequestId, "Invalid tokens.", ErrorCode.InvalidAccessToken));
            }
        }