Skip to content

Commit 3bfd003

Browse files
committed
added:get user and pass by restful api for http verification
1 parent c90aae5 commit 3bfd003

File tree

1 file changed

+49
-4
lines changed

1 file changed

+49
-4
lines changed

XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_HttpTask.cpp

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,59 @@ bool XEngine_Client_HttpTask(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
119119
return false;
120120
}
121121
bool bRet = false;
122-
if (1 == nVType)
122+
//通过什么方法获得用户密码
123+
if (_tcsxlen(st_AuthConfig.st_XApiVer.tszAPIUrl) > 0)
123124
{
124-
bRet = Verification_HTTP_Basic(st_AuthConfig.st_XApiVer.tszUserName, st_AuthConfig.st_XApiVer.tszUserPass, pptszListHdr, nHdrCount);
125+
int nHTTPCode = 0;
126+
int nMSGLen = 0;
127+
XCLIENT_APIHTTP st_APIHttp = {};
128+
XCHAR* ptszMSGBuffer = NULL;
129+
if (!APIClient_Http_Request(_X("GET"), st_AuthConfig.st_XApiVer.tszAPIUrl, NULL, &nHTTPCode, &ptszMSGBuffer, &nMSGLen, NULL, NULL, &st_APIHttp))
130+
{
131+
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "api server is down,cant verification");
132+
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
133+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,GET请求验证服务:%s 失败,错误码:%lX"), lpszClientAddr, st_AuthConfig.st_XApiVer.tszAPIUrl, APIClient_GetLastError());
134+
return false;
135+
}
136+
if (200 != nHTTPCode)
137+
{
138+
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "api server is down,cant verification");
139+
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
140+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,GET请求验证服务:%s 失败,错误:%d"), lpszClientAddr, st_AuthConfig.st_XApiVer.tszAPIUrl, nHTTPCode);
141+
return false;
142+
}
143+
AUTHORIZE_PROTOCOL_USERAUTHEX st_UserAuth = {};
144+
if (!Protocol_Parse_HttpParseAuth(ptszMSGBuffer, nMsgLen, &st_UserAuth))
145+
{
146+
Protocol_Packet_HttpComm(tszSDBuffer, &nSDLen, ERROR_AUTHORIZE_PROTOCOL_UNAUTHORIZE, "api server reply failure,cant verification");
147+
XEngine_Client_TaskSend(lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_AUTH_APP_NETTYPE_HTTP);
148+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,用户验证失败,返回内容:%s 错误,无法继续"), lpszClientAddr, ptszMSGBuffer);
149+
BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMSGBuffer);
150+
return false;
151+
}
152+
BaseLib_Memory_FreeCStyle((XPPMEM)&ptszMSGBuffer);
153+
154+
if (1 == nVType)
155+
{
156+
bRet = Verification_HTTP_Basic(st_UserAuth.tszUserName, st_UserAuth.tszUserPass, pptszListHdr, nHdrCount);
157+
}
158+
else if (2 == nVType)
159+
{
160+
bRet = Verification_HTTP_Digest(st_UserAuth.tszUserName, st_UserAuth.tszUserPass, pSt_HTTPParament->tszHttpMethod, pptszListHdr, nHdrCount);
161+
}
125162
}
126-
else if (2 == nVType)
163+
else
127164
{
128-
bRet = Verification_HTTP_Digest(st_AuthConfig.st_XApiVer.tszUserName, st_AuthConfig.st_XApiVer.tszUserPass, pSt_HTTPParament->tszHttpMethod, pptszListHdr, nHdrCount);
165+
if (1 == nVType)
166+
{
167+
bRet = Verification_HTTP_Basic(st_AuthConfig.st_XApiVer.tszUserName, st_AuthConfig.st_XApiVer.tszUserPass, pptszListHdr, nHdrCount);
168+
}
169+
else if (2 == nVType)
170+
{
171+
bRet = Verification_HTTP_Digest(st_AuthConfig.st_XApiVer.tszUserName, st_AuthConfig.st_XApiVer.tszUserPass, pSt_HTTPParament->tszHttpMethod, pptszListHdr, nHdrCount);
172+
}
129173
}
174+
130175
if (!bRet)
131176
{
132177
HttpProtocol_Server_SendMsgEx(xhHttpPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHDRBuffer);

0 commit comments

Comments
 (0)