Randao.Core.Service.TokenService.RefreshAccessToken C# (CSharp) Method

RefreshAccessToken() public method

public RefreshAccessToken ( string refreshToken, int clientId ) : ReturnResult
refreshToken string
clientId int
return ReturnResult
        public ReturnResult<OauthToken> RefreshAccessToken(string refreshToken, int clientId)
        {
            if (string.IsNullOrWhiteSpace(refreshToken))
            {
                return new ReturnResult<OauthToken>(21, null, "参数refreshToken错误");
            }
            var rToken = TokenRepository.Instance.GetRefreshToken(refreshToken);
            if (null == rToken)
            {
                return new ReturnResult<OauthToken>(22, null, "参数refreshToken错误");
            }
            if (rToken.ClientID != clientId)
            {
                return new ReturnResult<OauthToken>(23, null, "参数clientId错误");
            }
            if (rToken.Expires < DateTime.Now.Epoch())
            {
                return new ReturnResult<OauthToken>(24, null, "refreshToken已过期,请重新登录");
            }
            var user = memberService.GetMember(rToken.UserKeyID);
            if (null == user)
            {
                return new ReturnResult<OauthToken>(25, null, "当前用户已失效,请重新登录");
            }
            return this.CreateAccessToken(user);
        }