| // Copyright 2024 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef REMOTING_PROTO_SESSION_AUTHZ_SERVICE_H_ |
| #define REMOTING_PROTO_SESSION_AUTHZ_SERVICE_H_ |
| |
| #include <optional> |
| #include <string> |
| |
| #include "base/time/time.h" |
| #include "remoting/base/session_policies.h" |
| |
| // This file defines structs for the SessionAuthzService. For official builds, |
| // these structs are populated by code in //remoting/internal. For unofficial |
| // builds, they are populated by code in internal_stubs.h. |
| namespace remoting::internal { |
| |
| struct GenerateHostTokenRequestStruct { |
| std::string support_id; |
| }; |
| |
| struct GenerateHostTokenResponseStruct { |
| GenerateHostTokenResponseStruct(); |
| ~GenerateHostTokenResponseStruct(); |
| |
| std::string host_token; |
| std::string session_id; |
| }; |
| |
| struct VerifySessionTokenRequestStruct { |
| VerifySessionTokenRequestStruct(); |
| ~VerifySessionTokenRequestStruct(); |
| VerifySessionTokenRequestStruct(const VerifySessionTokenRequestStruct&); |
| bool operator==(const VerifySessionTokenRequestStruct&) const; |
| |
| std::string session_token; |
| std::string support_id; |
| }; |
| |
| struct VerifySessionTokenResponseStruct { |
| VerifySessionTokenResponseStruct(); |
| ~VerifySessionTokenResponseStruct(); |
| |
| std::string session_id; |
| std::string shared_secret; |
| std::string session_reauth_token; |
| base::TimeDelta session_reauth_token_lifetime; |
| std::optional<SessionPolicies> session_policies; |
| }; |
| |
| struct ReauthorizeHostRequestStruct { |
| ReauthorizeHostRequestStruct(); |
| ~ReauthorizeHostRequestStruct(); |
| bool operator==(const ReauthorizeHostRequestStruct&) const; |
| |
| std::string session_reauth_token; |
| std::string session_id; |
| std::string support_id; |
| }; |
| |
| struct ReauthorizeHostResponseStruct { |
| ReauthorizeHostResponseStruct(); |
| ~ReauthorizeHostResponseStruct(); |
| |
| std::string session_reauth_token; |
| base::TimeDelta session_reauth_token_lifetime; |
| }; |
| |
| } // namespace remoting::internal |
| |
| #endif // REMOTING_PROTO_SESSION_AUTHZ_SERVICE_H_ |