diff options
Diffstat (limited to 'mp/src/public/steam/isteamuser.h')
| -rw-r--r-- | mp/src/public/steam/isteamuser.h | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/mp/src/public/steam/isteamuser.h b/mp/src/public/steam/isteamuser.h index a670849e..989b88e7 100644 --- a/mp/src/public/steam/isteamuser.h +++ b/mp/src/public/steam/isteamuser.h @@ -166,6 +166,18 @@ public: // gets the Steam Level of the user, as shown on their profile virtual int GetPlayerSteamLevel() = 0; + // Requests a URL which authenticates an in-game browser for store check-out, + // and then redirects to the specified URL. As long as the in-game browser + // accepts and handles session cookies, Steam microtransaction checkout pages + // will automatically recognize the user instead of presenting a login page. + // The result of this API call will be a StoreAuthURLResponse_t callback. + // NOTE: The URL has a very short lifetime to prevent history-snooping attacks, + // so you should only call this API when you are about to launch the browser, + // or else immediately navigate to the result URL using a hidden browser window. + // NOTE 2: The resulting authorization cookie has an expiration time of one day, + // so it would be a good idea to request and visit a new auth URL every 12 hours. + virtual SteamAPICall_t RequestStoreAuthURL( const char *pchRedirectURL ) = 0; + #ifdef _PS3 // Initiates PS3 Logon request using just PSN ticket. // @@ -205,7 +217,7 @@ public: }; -#define STEAMUSER_INTERFACE_VERSION "SteamUser017" +#define STEAMUSER_INTERFACE_VERSION "SteamUser018" // callbacks @@ -288,6 +300,15 @@ struct IPCFailure_t //----------------------------------------------------------------------------- +// Purpose: Signaled whenever licenses change +//----------------------------------------------------------------------------- +struct LicensesUpdated_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 25 }; +}; + + +//----------------------------------------------------------------------------- // callback for BeginAuthSession //----------------------------------------------------------------------------- struct ValidateAuthTicketResponse_t @@ -342,6 +363,16 @@ struct GameWebCallback_t char m_szURL[256]; }; +//----------------------------------------------------------------------------- +// Purpose: sent to your game in response to ISteamUser::RequestStoreAuthURL +//----------------------------------------------------------------------------- +struct StoreAuthURLResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 65 }; + char m_szURL[512]; +}; + + #pragma pack( pop ) |