Ejemplo n.º 1
0
        /// <summary>
        /// 处理token刷新
        /// </summary>
        /// <param name="refreshToken"></param>
        /// <returns></returns>
        private OAuthBaseModel RefreshTokenGrant(string refreshToken)
        {
            var oauthEntity = tokenService.FindOAuthEntityByRefeshToken(refreshToken);

            if (oauthEntity == null)
            {
                WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Unauthorized;
                return(new OAuthError("invalid_refeshToken", "refeshToken is invalid"));
            }
            RemoveOauthFromStore(refreshToken, oauthEntity);
            oauthEntity = CreateOAuthEntity(oauthEntity.UserName, oauthEntity.Password);
            SaveToStore(oauthEntity);
            return(oauthEntity);
        }