Fixes for subscriber service.

This commit is contained in:
stephb9959
2021-12-17 08:34:28 -08:00
parent 524f79e825
commit 4566bb942c
5 changed files with 21 additions and 17 deletions

2
build
View File

@@ -1 +1 @@
117
119

View File

@@ -61,8 +61,10 @@ components:
- 6 # INTERNAL_ERROR,
- 7 # ACCESS_DENIED,
- 8 # INVALID_TOKEN
- 9 # expired token
- 10 # rate limit exceeded
- 9 # EXPIRED_TOKEN
- 10 # RATE_LIMIT_EXCEEDED
- 11 # BAD_MFA_TRANSACTION
- 12 # MFA_FAILURE
ErrorDetails:
type: string
ErrorDescription:

View File

@@ -29,7 +29,7 @@ namespace OpenWifi {
if (!IsAuthorized(Expired)) {
if(Expired)
return UnAuthorized(RESTAPI::Errors::ExpiredToken,EXPIRED_TOKEN);
return UnAuthorized(RESTAPI::Errors::MissingAuthenticationInformation);
return UnAuthorized(RESTAPI::Errors::MissingAuthenticationInformation, INVALID_TOKEN);
}
bool GetMe = GetBoolParameter(RESTAPI::Protocol::ME, false);
if(GetMe) {
@@ -48,7 +48,7 @@ namespace OpenWifi {
if (!IsAuthorized(Expired)) {
if(Expired)
return UnAuthorized(RESTAPI::Errors::ExpiredToken,EXPIRED_TOKEN);
return UnAuthorized(RESTAPI::Errors::MissingAuthenticationInformation);
return UnAuthorized(RESTAPI::Errors::MissingAuthenticationInformation, INVALID_TOKEN);
}
auto Token = GetBinding(RESTAPI::Protocol::TOKEN, "...");
@@ -113,7 +113,7 @@ namespace OpenWifi {
if(MFAServer().ResendCode(uuid))
return OK();
}
return UnAuthorized(RESTAPI::Errors::InvalidCredentials);
return UnAuthorized(RESTAPI::Errors::InvalidCredentials, BAD_MFA_TRANSACTION);
}
if(GetBoolParameter(RESTAPI::Protocol::COMPLETEMFACHALLENGE,false)) {
@@ -126,7 +126,7 @@ namespace OpenWifi {
return ReturnObject(ReturnObj);
}
}
return UnAuthorized(RESTAPI::Errors::InvalidCredentials);
return UnAuthorized(RESTAPI::Errors::InvalidCredentials, MFA_FAILURE);
}
SecurityObjects::UserInfoAndPolicy UInfo;

View File

@@ -107,7 +107,7 @@ namespace OpenWifi {
if(MFAServer().ResendCode(uuid))
return OK();
}
return UnAuthorized(RESTAPI::Errors::InvalidCredentials);
return UnAuthorized(RESTAPI::Errors::InvalidCredentials, BAD_MFA_TRANSACTION);
}
if(GetBoolParameter(RESTAPI::Protocol::COMPLETEMFACHALLENGE,false)) {
@@ -120,7 +120,7 @@ namespace OpenWifi {
return ReturnObject(ReturnObj);
}
}
return UnAuthorized(RESTAPI::Errors::InvalidCredentials);
return UnAuthorized(RESTAPI::Errors::InvalidCredentials, MFA_FAILURE);
}
SecurityObjects::UserInfoAndPolicy UInfo;

View File

@@ -96,7 +96,9 @@ namespace OpenWifi {
ACCESS_DENIED,
INVALID_TOKEN,
EXPIRED_TOKEN,
RATE_LIMIT_EXCEEDED
RATE_LIMIT_EXCEEDED,
BAD_MFA_TRANSACTION,
MFA_FAILURE
};
class AppServiceRegistry {
@@ -1578,7 +1580,7 @@ namespace OpenWifi {
if (AlwaysAuthorize_ && !IsAuthorized(Expired, SubOnlyService_)) {
if(Expired)
return UnAuthorized(RESTAPI::Errors::ExpiredToken, EXPIRED_TOKEN);
return UnAuthorized(RESTAPI::Errors::InvalidCredentials, ACCESS_DENIED);
return UnAuthorized(RESTAPI::Errors::InvalidCredentials, INVALID_TOKEN);
}
std::string Reason;
@@ -1588,19 +1590,19 @@ namespace OpenWifi {
ParseParameters();
if (Request->getMethod() == Poco::Net::HTTPRequest::HTTP_GET)
DoGet();
return DoGet();
else if (Request->getMethod() == Poco::Net::HTTPRequest::HTTP_POST)
DoPost();
return DoPost();
else if (Request->getMethod() == Poco::Net::HTTPRequest::HTTP_DELETE)
DoDelete();
return DoDelete();
else if (Request->getMethod() == Poco::Net::HTTPRequest::HTTP_PUT)
DoPut();
return DoPut();
else
BadRequest(RESTAPI::Errors::UnsupportedHTTPMethod);
return BadRequest(RESTAPI::Errors::UnsupportedHTTPMethod);
return;
} catch (const Poco::Exception &E) {
Logger_.log(E);
BadRequest(RESTAPI::Errors::InternalError);
return BadRequest(RESTAPI::Errors::InternalError);
}
}