public ReturnResult <OauthToken> CreateAccessToken(TdMemberDataContract memberInfo)
        {
            if (null == memberInfo || memberInfo.UserKeyId < 1)
            {
                return(new ReturnResult <OauthToken>(101, null, "参数memberInfo错误"));
            }

            OauthToken accessToken = new OauthToken();

            accessToken.ClientID    = 10001;         //目前默认为10001
            accessToken.UserKeyId   = memberInfo.UserKeyId;
            accessToken.AccessToken = CreateToken();
            accessToken.Expires     = DateTime.Now.Epoch() + ACCESS_TOKEN_EXPIRES;
            accessToken.Scope       = "all";      //权限默认
            accessToken.User        = memberInfo;

            RefreshTokenDataContract refreshToken = new RefreshTokenDataContract();

            refreshToken.ClientID     = accessToken.ClientID;
            refreshToken.UserKeyID    = accessToken.UserKeyId;
            refreshToken.RefreshToken = CreateToken();
            refreshToken.Expires      = DateTime.Now.Epoch() + REFRESH_TOKEN_EXPIRES;

            accessToken.RefreshToken = refreshToken.RefreshToken;

            TokenRepository.Instance.InsertAccessToken(accessToken);
            TokenRepository.Instance.InsertRefreshToken(refreshToken);

            return(new ReturnResult <OauthToken>(accessToken));
        }
Exemple #2
0
        public RefreshTokenDataContract GetRefreshToken(string refreshToken)
        {
            string sql = "SELECT RefreshToken,ClientId,UserKeyId,Expires FROM refresh_tokens WHERE RefreshToken = @refreshToken";

            RefreshTokenDataContract model = null;

            using (var dr = SqlHelper.ExecuteReader(SqlHelper.GetConnSting(), CommandType.Text, sql, new SqlParameter("refreshToken", refreshToken)))
            {
                model = EntityHelper.GetEntity <RefreshTokenDataContract>(dr);
            }

            return(model);
        }
Exemple #3
0
        public bool InsertRefreshToken(RefreshTokenDataContract refreshToken)
        {
            string sql = @"INSERT INTO refresh_tokens(RefreshToken,ClientId,UserKeyId,Expires)
						   VALUES(@RefreshToken,@ClientId,@UserKeyId,@Expires)"                        ;

            var _parm = new SqlParameter[] {
                new SqlParameter("@RefreshToken", refreshToken.RefreshToken),
                new SqlParameter("@ClientId", refreshToken.ClientID),
                new SqlParameter("@UserKeyId", refreshToken.UserKeyID),
                new SqlParameter("@Expires", refreshToken.Expires)
            };

            return(SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql, _parm) > 0);
        }