#include "chrome/browser/enterprise/profile_management/saml_response_parser.h"
#include <string>
#include <vector>
#include "base/base64.h"
#include "base/containers/flat_map.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/navigation_throttle.h"
#include "services/data_decoder/public/cpp/data_decoder.h"
namespace profile_management {
namespace {
constexpr char kChildrenKey[] = …;
const std::string* GetSamlResponseFromDict(const base::Value::Dict& dict) { … }
const std::string* GetAttributeValue(const base::Value::Dict& dict,
const std::string& attribute) { … }
}
SAMLResponseParser::SAMLResponseParser(std::vector<std::string>&& attributes,
const std::string& body,
ResponseParserCallback callback)
: … { … }
SAMLResponseParser::~SAMLResponseParser() = default;
void SAMLResponseParser::GetSamlResponse(
data_decoder::DataDecoder::ValueOrError value_or_error) { … }
void SAMLResponseParser::GetAttributesFromSAMLResponse(
data_decoder::DataDecoder::ValueOrError value_or_error) { … }
}