mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
synced 2025-11-02 19:57:46 +00:00
Adding Google Authenticator
This commit is contained in:
35
src/RESTAPI/RESTAPI_totp_handler.cpp
Normal file
35
src/RESTAPI/RESTAPI_totp_handler.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
//
|
||||
// Created by stephane bourque on 2022-01-31.
|
||||
//
|
||||
|
||||
#include "RESTAPI_totp_handler.h"
|
||||
#include "TotpCache.h"
|
||||
|
||||
namespace OpenWifi {
|
||||
|
||||
void RESTAPI_totp_handler::DoGet() {
|
||||
|
||||
auto Reset = GetBoolParameter("reset",false);
|
||||
std::string QRCode;
|
||||
|
||||
if(TotpCache()->StartValidation(UserInfo_.userinfo,false,QRCode,Reset)) {
|
||||
return SendFileContent(QRCode, "image/svg+xml","qrcode.svg");
|
||||
}
|
||||
return BadRequest(RESTAPI::Errors::InvalidCommand);
|
||||
}
|
||||
|
||||
void RESTAPI_totp_handler::DoPut() {
|
||||
auto Value = GetParameter("value","");
|
||||
auto nextIndex = GetParameter("index",0);
|
||||
bool moreCodes=false;
|
||||
|
||||
if(TotpCache()->ContinueValidation(UserInfo_.userinfo,false,Value,nextIndex,moreCodes)) {
|
||||
Poco::JSON::Object Answer;
|
||||
Answer.set("nextIndex", nextIndex);
|
||||
Answer.set("moreCodes", moreCodes);
|
||||
return ReturnObject(Answer);
|
||||
}
|
||||
return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user