Fix basic auth

This commit is contained in:
2025-12-04 15:14:04 -06:00
parent f7682e8860
commit 7aadb14a45
3 changed files with 11 additions and 4 deletions

View File

@@ -343,6 +343,9 @@ if(TESSESFRAMEWORK_ENABLE_EXAMPLES)
add_executable(runevent examples/runevent.cpp)
target_link_libraries(runevent PUBLIC tessesframework)
add_executable(tests examples/tests.cpp)
target_link_libraries(tests PUBLIC tessesframework)
endif()
if(TESSESFRAMEWORK_ENABLE_APPS)

View File

@@ -10,6 +10,7 @@
#include <mbedtls/entropy.h>
#include <mbedtls/ctr_drbg.h>
#endif
#include <iostream>
namespace Tesses::Framework::Crypto
{
bool HaveCrypto()
@@ -40,14 +41,14 @@ namespace Tesses::Framework::Crypto
std::vector<uint8_t> Base64_Decode(std::string str)
{
#if defined(TESSESFRAMEWORK_ENABLE_MBED)
size_t olen;
size_t olen=0;
std::vector<uint8_t> data;
mbedtls_base64_decode(data.data(), 0, &olen, (const uint8_t*)str.data(),str.size());
data.resize(olen);
if(mbedtls_base64_decode(data.data(), olen, &olen, (const uint8_t*)str.data(),str.size())==0)
{

View File

@@ -1,5 +1,6 @@
#include "TessesFramework/Http/BasicAuthServer.hpp"
#include "TessesFramework/Crypto/Crypto.hpp"
#include <iostream>
namespace Tesses::Framework::Http {
BasicAuthServer::BasicAuthServer()
@@ -39,7 +40,9 @@ namespace Tesses::Framework::Http {
auto security = HttpUtils::SplitString(auth," ",2);
if(security.size() < 2) return false;
if(security[0] != "Basic") return false;
auto decoded = Crypto::Base64_Decode(security[0]);
auto decoded = Crypto::Base64_Decode(security[1]);
std::string decoded_str(decoded.begin(),decoded.end());
security = HttpUtils::SplitString(decoded_str,":",2);
if(security.size() < 2) return false;