You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
243 lines
7.6 KiB
C#
243 lines
7.6 KiB
C#
#if !DISABLE_PLAYFABENTITY_API
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using PlayFab.SharedModels;
|
|
|
|
namespace PlayFab.AuthenticationModels
|
|
{
|
|
/// <summary>
|
|
/// Create or return a game_server entity token. Caller must be a title entity.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class AuthenticateCustomIdRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The customId used to create and retrieve game_server entity tokens. This is unique at the title level. CustomId must be
|
|
/// between 32 and 100 characters.
|
|
/// </summary>
|
|
public string CustomId;
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
}
|
|
|
|
[Serializable]
|
|
public class AuthenticateCustomIdResult : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The token generated used to set X-EntityToken for game_server calls.
|
|
/// </summary>
|
|
public EntityTokenResponse EntityToken;
|
|
/// <summary>
|
|
/// True if the account was newly created on this authentication.
|
|
/// </summary>
|
|
public bool NewlyCreated;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Delete a game_server entity. The caller can be the game_server entity attempting to delete itself. Or a title entity
|
|
/// attempting to delete game_server entities for this title.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DeleteRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The game_server entity to be removed.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
}
|
|
|
|
[Serializable]
|
|
public class EmptyResponse : PlayFabResultCommon
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Combined entity type and ID structure which uniquely identifies a single entity.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class EntityKey : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// Unique ID of the entity.
|
|
/// </summary>
|
|
public string Id;
|
|
/// <summary>
|
|
/// Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
|
|
/// </summary>
|
|
public string Type;
|
|
}
|
|
|
|
[Serializable]
|
|
public class EntityLineage : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The Character Id of the associated entity.
|
|
/// </summary>
|
|
public string CharacterId;
|
|
/// <summary>
|
|
/// The Group Id of the associated entity.
|
|
/// </summary>
|
|
public string GroupId;
|
|
/// <summary>
|
|
/// The Master Player Account Id of the associated entity.
|
|
/// </summary>
|
|
public string MasterPlayerAccountId;
|
|
/// <summary>
|
|
/// The Namespace Id of the associated entity.
|
|
/// </summary>
|
|
public string NamespaceId;
|
|
/// <summary>
|
|
/// The Title Id of the associated entity.
|
|
/// </summary>
|
|
public string TitleId;
|
|
/// <summary>
|
|
/// The Title Player Account Id of the associated entity.
|
|
/// </summary>
|
|
public string TitlePlayerAccountId;
|
|
}
|
|
|
|
[Serializable]
|
|
public class EntityTokenResponse : PlayFabBaseModel
|
|
{
|
|
/// <summary>
|
|
/// The entity id and type.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The token used to set X-EntityToken for all entity based API calls.
|
|
/// </summary>
|
|
public string EntityToken;
|
|
/// <summary>
|
|
/// The time the token will expire, if it is an expiring token, in UTC.
|
|
/// </summary>
|
|
public DateTime? TokenExpiration;
|
|
}
|
|
|
|
/// <summary>
|
|
/// This API must be called with X-SecretKey, X-Authentication or X-EntityToken headers. An optional EntityKey may be
|
|
/// included to attempt to set the resulting EntityToken to a specific entity, however the entity must be a relation of the
|
|
/// caller, such as the master_player_account of a character. If sending X-EntityToken the account will be marked as freshly
|
|
/// logged in and will issue a new token. If using X-Authentication or X-EntityToken the header must still be valid and
|
|
/// cannot be expired or revoked.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class GetEntityTokenRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// The optional entity to perform this action on. Defaults to the currently logged in entity.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
}
|
|
|
|
[Serializable]
|
|
public class GetEntityTokenResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The entity id and type.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The token used to set X-EntityToken for all entity based API calls.
|
|
/// </summary>
|
|
public string EntityToken;
|
|
/// <summary>
|
|
/// The time the token will expire, if it is an expiring token, in UTC.
|
|
/// </summary>
|
|
public DateTime? TokenExpiration;
|
|
}
|
|
|
|
public enum IdentifiedDeviceType
|
|
{
|
|
Unknown,
|
|
XboxOne,
|
|
Scarlett,
|
|
WindowsOneCore,
|
|
WindowsOneCoreMobile,
|
|
Win32,
|
|
android,
|
|
iOS,
|
|
PlayStation,
|
|
Nintendo
|
|
}
|
|
|
|
public enum LoginIdentityProvider
|
|
{
|
|
Unknown,
|
|
PlayFab,
|
|
Custom,
|
|
GameCenter,
|
|
GooglePlay,
|
|
Steam,
|
|
XBoxLive,
|
|
PSN,
|
|
Kongregate,
|
|
Facebook,
|
|
IOSDevice,
|
|
AndroidDevice,
|
|
Twitch,
|
|
WindowsHello,
|
|
GameServer,
|
|
CustomServer,
|
|
NintendoSwitch,
|
|
FacebookInstantGames,
|
|
OpenIdConnect,
|
|
Apple,
|
|
NintendoSwitchAccount,
|
|
GooglePlayGames,
|
|
XboxMobileStore,
|
|
King
|
|
}
|
|
|
|
/// <summary>
|
|
/// Given an entity token, validates that it hasn't expired or been revoked and will return details of the owner.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ValidateEntityTokenRequest : PlayFabRequestCommon
|
|
{
|
|
/// <summary>
|
|
/// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
|
|
/// </summary>
|
|
public Dictionary<string,string> CustomTags;
|
|
/// <summary>
|
|
/// Client EntityToken
|
|
/// </summary>
|
|
public string EntityToken;
|
|
}
|
|
|
|
[Serializable]
|
|
public class ValidateEntityTokenResponse : PlayFabResultCommon
|
|
{
|
|
/// <summary>
|
|
/// The entity id and type.
|
|
/// </summary>
|
|
public EntityKey Entity;
|
|
/// <summary>
|
|
/// The authenticated device for this entity, for the given login
|
|
/// </summary>
|
|
public IdentifiedDeviceType? IdentifiedDeviceType;
|
|
/// <summary>
|
|
/// The identity provider for this entity, for the given login
|
|
/// </summary>
|
|
public LoginIdentityProvider? IdentityProvider;
|
|
/// <summary>
|
|
/// The ID issued by the identity provider, e.g. a XUID on Xbox Live
|
|
/// </summary>
|
|
public string IdentityProviderIssuedId;
|
|
/// <summary>
|
|
/// The lineage of this profile.
|
|
/// </summary>
|
|
public EntityLineage Lineage;
|
|
}
|
|
}
|
|
#endif
|