pub struct TransferToken {
pub token_id: String,
pub player_id: PlayerId,
pub source_server: ServerId,
pub target_server: ServerId,
pub target_address: String,
pub created_at_ms: u64,
pub expires_at_ms: u64,
pub signature: String,
}Expand description
Transfer token that authorizes a player to connect to a new server.
This token is generated by Atlas and must be presented by the player when connecting to the target server to prove they are authorized.
Fields§
§token_id: StringUnique token identifier
player_id: PlayerIdPlayer being transferred
source_server: ServerIdSource server
target_server: ServerIdTarget server
target_address: StringTarget server address
created_at_ms: u64When this token was created (ms since epoch)
expires_at_ms: u64When this token expires (ms since epoch)
signature: StringCryptographic signature (HMAC or similar)
Implementations§
Source§impl TransferToken
impl TransferToken
Sourcepub fn new(
player_id: PlayerId,
source_server: ServerId,
target_server: ServerId,
target_address: String,
secret_key: &[u8],
) -> Self
pub fn new( player_id: PlayerId, source_server: ServerId, target_server: ServerId, target_address: String, secret_key: &[u8], ) -> Self
Creates a new transfer token.
Sourcepub fn with_validity(
player_id: PlayerId,
source_server: ServerId,
target_server: ServerId,
target_address: String,
valid_duration_secs: u64,
secret_key: &[u8],
) -> Self
pub fn with_validity( player_id: PlayerId, source_server: ServerId, target_server: ServerId, target_address: String, valid_duration_secs: u64, secret_key: &[u8], ) -> Self
Creates a new transfer token with custom validity duration.
Sourcepub fn verify(&self, secret_key: &[u8]) -> Result<(), TransferError>
pub fn verify(&self, secret_key: &[u8]) -> Result<(), TransferError>
Verifies the token signature and expiration.
Sourcepub fn to_json(&self) -> Result<String, TransferError>
pub fn to_json(&self) -> Result<String, TransferError>
Serializes the token to JSON.
Sourcepub fn from_json(json: &str) -> Result<Self, TransferError>
pub fn from_json(json: &str) -> Result<Self, TransferError>
Deserializes a token from JSON.
Trait Implementations§
Source§impl Clone for TransferToken
impl Clone for TransferToken
Source§fn clone(&self) -> TransferToken
fn clone(&self) -> TransferToken
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TransferToken
impl Debug for TransferToken
Source§impl<'de> Deserialize<'de> for TransferToken
impl<'de> Deserialize<'de> for TransferToken
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TransferToken
impl RefUnwindSafe for TransferToken
impl Send for TransferToken
impl Sync for TransferToken
impl Unpin for TransferToken
impl UnsafeUnpin for TransferToken
impl UnwindSafe for TransferToken
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more