Skip to content

Commit d7c59ba

Browse files
committed
fixed:delete session token failure when time out
1 parent 446f009 commit d7c59ba

3 files changed

Lines changed: 11 additions & 11 deletions

File tree

‎XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Get/AuthorizeHTTP_Token.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ bool XEngine_AuthorizeHTTP_Token(LPCXSTR lpszClientAddr, XCHAR** pptszList, int
177177
}
178178
Protocol_Packet_HttpOAuth(tszSDBuffer, &nSDLen, &st_OAuthInfo);
179179
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
180-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求关闭TOKEN:%s 成功"), lpszClientAddr, tszTokenStr);
180+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求创建OAuth的TOKEN:%s 成功"), lpszClientAddr, tszTokenStr);
181181
}
182182
return true;
183183
}

‎XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/AuthorizeHTTP_Post/AuthorizeHTTP_OAuth.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ bool XEngine_AuthorizeHTTP_OAuth(LPCXSTR lpszClientAddr, LPCXSTR lpszAPIName, LP
7878
{
7979
DBModule_SQLite_UserQuery(st_OAuthInfo.tszUserName, &st_UserTable);
8080
}
81-
Session_Token_InsertStr(st_OAuthInfo.tszUserName, &st_UserTable.st_UserInfo, st_OAuthInfo.nExpirationTime);
81+
st_UserTable.st_UserInfo.xhToken = 1;
82+
Session_Token_InsertStr(st_OAuthInfo.tszTokenStr, &st_UserTable.st_UserInfo, st_OAuthInfo.nExpirationTime);
8283

8384
Protocol_Packet_HttpOAuth2(tszSDBuffer, &nSDLen, &st_OAuthInfo);
8485
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);

‎XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Task.cpp‎

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,6 @@ void XCALLBACK XEngine_TaskEvent_Client(LPCXSTR lpszUserAddr, LPCXSTR lpszUserNa
6464
void XCALLBACK XEngine_TaskEvent_Token(LPCXSTR lpszTokenStr, int nTimeout, int nTimerenewal, XENGINE_LIBTIME* pSt_LibTime, XENGINE_PROTOCOL_USERINFO* pSt_UserInfo, XPVOID lParam)
6565
{
6666
bool bRemove = true;
67-
XENGINE_PROTOCOL_USERINFO st_UserInfo;
68-
69-
Session_Token_GetStr(lpszTokenStr, &st_UserInfo);
7067
//自动续期?
7168
if (st_AuthConfig.st_XVerification.st_XToken.bAutoRenewal)
7269
{
@@ -86,13 +83,15 @@ void XCALLBACK XEngine_TaskEvent_Token(LPCXSTR lpszTokenStr, int nTimeout, int n
8683
}
8784
}
8885

89-
AUTHREG_OAUTHINFO st_OAuthInfo = {};
90-
_tcsxcpy(st_OAuthInfo.tszTokenStr, lpszTokenStr);
91-
bool bRet = DBModule_SQLite_OAuthDelete(&st_OAuthInfo);
92-
93-
if (bRemove || bRet)
86+
if (1 == pSt_UserInfo->xhToken)
87+
{
88+
AUTHREG_OAUTHINFO st_OAuthInfo = {};
89+
_tcsxcpy(st_OAuthInfo.tszTokenStr, lpszTokenStr);
90+
DBModule_SQLite_OAuthDelete(&st_OAuthInfo);
91+
}
92+
if (bRemove || (1 == pSt_UserInfo->xhToken))
9493
{
9594
Session_Token_DeleteStr(lpszTokenStr);
96-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Token:%s,用户名:%s,已经超时,权限级别:%d,被移除服务器,移除类型:%s"), lpszTokenStr, st_UserInfo.tszUserName, st_UserInfo.nUserLevel, bRet ? "普通" : "OAuth");
95+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Token:%s,用户名:%s,已经超时,权限级别:%d,被移除服务器,移除类型:%s"), lpszTokenStr, pSt_UserInfo->tszUserName, pSt_UserInfo->nUserLevel, 1 == pSt_UserInfo->xhToken ? "OAuth" : "Token");
9796
}
9897
}

0 commit comments

Comments
 (0)