Authorization
This page explains how to authorize users, receive account information, handle events, and check authorization state using the Platform101XP SDK.
1. Authorization Methods
Authorize User
P101XP.GetInstance().Authorize();
Show Profile Window
P101XP.GetInstance().ShowProfile();
2. Events
Authorization Result Event
using Platform101XP.Entities;
private void AuthorizeResultHandler(AuthorizeResult result)
{
}
P101XP.GetInstance().AuthorizeResultEvent += AuthorizeResultHandler;
Account Information Event
private void AccountResultHandler(AccountResult result)
{
}
P101XP.GetInstance().GetAccountEvent += AccountResultHandler;
3. Data Structures
Token and AuthorizeResult
public class Token
{
public string accessToken;
public long expires;
public string type;
public string provider;
}
public class AuthorizeResult
{
public Token token;
public string error;
}
Account and AccountResult
public class Account
{
public long accountId;
public long portalId;
public long userGameId;
public long mobileId;
public string userName;
public string userPhotoUrl;
public bool isGuest;
}
public class AccountResult
{
public Account account;
public string error;
}
4. Authorization State Helpers
You may query the current authorization state at any time:
Token token = P101XP.GetInstance().GetToken();
Account account = P101XP.GetInstance().GetAccount();
tokenappears firstaccountappears later (async load)
5. Recommended Usage Patterns
5.1 Check if the user is authorized
var token = P101XP.GetInstance().GetToken();
if (token != null)
{
// Authorized
}
else
{
// Not authorized
}
5.2 Check if account data is available
var account = P101XP.GetInstance().GetAccount();
if (account != null)
{
Debug.Log("User: " + account.userName);
}
else
{
Debug.Log("Account not loaded yet");
}
5.3 Token exists but account is not ready yet
This is normal behavior:
var token = P101XP.GetInstance().GetToken();
var account = P101XP.GetInstance().GetAccount();
if (token != null)
{
if (account != null)
{
// Full user info available
}
else
{
Debug.Log("Waiting for account data...");
}
}
5.4 Check if the user is a guest
var account = P101XP.GetInstance().GetAccount();
if (account != null && account.isGuest)
{
Debug.Log("Guest mode");
}
6. Typical Authorization Flow
Subscribe → Authorize() → Receive Token → SDK loads account → Receive AccountResult
Note:
If the user already has a valid token (GetToken() != null), you do not need to callAuthorize()again.
In this case, simply check whether account data is available (GetAccount()) and wait forGetAccountEventif needed.
7. Namespaces
All SDK data classes are located under:
namespace Platform101XP.Entities
Add this to use the SDK models:
using Platform101XP.Entities;