#include "remoting/protocol/session_authz_authenticator.h"
#include <memory>
#include <utility>
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/notreached.h"
#include "remoting/base/corp_session_authz_service_client.h"
#include "remoting/base/protobuf_http_status.h"
#include "remoting/proto/session_authz_service.h"
#include "remoting/protocol/authenticator.h"
#include "remoting/protocol/credentials_type.h"
#include "remoting/protocol/session_authz_reauthorizer.h"
namespace remoting::protocol {
SessionAuthzAuthenticator::SessionAuthzAuthenticator(
CredentialsType credentials_type,
std::unique_ptr<SessionAuthzServiceClient> service_client,
const CreateBaseAuthenticatorCallback& create_base_authenticator_callback)
: … { … }
SessionAuthzAuthenticator::~SessionAuthzAuthenticator() = default;
void SessionAuthzAuthenticator::Start(base::OnceClosure resume_callback) { … }
CredentialsType SessionAuthzAuthenticator::credentials_type() const { … }
const Authenticator& SessionAuthzAuthenticator::implementing_authenticator()
const { … }
Authenticator::State SessionAuthzAuthenticator::state() const { … }
bool SessionAuthzAuthenticator::started() const { … }
Authenticator::RejectionReason SessionAuthzAuthenticator::rejection_reason()
const { … }
void SessionAuthzAuthenticator::ProcessMessage(
const jingle_xmpp::XmlElement* message,
base::OnceClosure resume_callback) { … }
std::unique_ptr<jingle_xmpp::XmlElement>
SessionAuthzAuthenticator::GetNextMessage() { … }
const std::string& SessionAuthzAuthenticator::GetAuthKey() const { … }
std::unique_ptr<ChannelAuthenticator>
SessionAuthzAuthenticator::CreateChannelAuthenticator() const { … }
void SessionAuthzAuthenticator::SetReauthorizerForTesting(
std::unique_ptr<SessionAuthzReauthorizer> reauthorizer) { … }
void SessionAuthzAuthenticator::SetSessionIdForTesting(
std::string_view session_id) { … }
void SessionAuthzAuthenticator::GenerateHostToken(
base::OnceClosure resume_callback) { … }
void SessionAuthzAuthenticator::OnHostTokenGenerated(
base::OnceClosure resume_callback,
const ProtobufHttpStatus& status,
std::unique_ptr<internal::GenerateHostTokenResponseStruct> response) { … }
void SessionAuthzAuthenticator::AddHostTokenElement(
jingle_xmpp::XmlElement* message) { … }
void SessionAuthzAuthenticator::VerifySessionToken(
const jingle_xmpp::XmlElement& message,
base::OnceClosure resume_callback) { … }
void SessionAuthzAuthenticator::OnVerifiedSessionToken(
const jingle_xmpp::XmlElement& message,
base::OnceClosure resume_callback,
const ProtobufHttpStatus& status,
std::unique_ptr<internal::VerifySessionTokenResponseStruct> response) { … }
void SessionAuthzAuthenticator::HandleSessionAuthzError(
const std::string_view& action_name,
const ProtobufHttpStatus& status) { … }
void SessionAuthzAuthenticator::StartReauthorizerIfNecessary() { … }
void SessionAuthzAuthenticator::OnReauthorizationFailed() { … }
}