OAuth tillader, at partnersider og applikationer på indlejrede platforme kan udføre bestemte handlinger på vegne af bekræftede Steam-brugere på en sikker måde.
For at bruge OAuth skal du først have et
klient-ID fra Valve. Læs
Sådan kommer du i gang for flere oplysninger.
Nogle OAuthAPI'er kræver også en
WebAPI-udgivernøgle for at bekræfte din identitet som Steam-partner. Disse API'er kan kun kaldes fra dine servere, da en nøgle ikke kan deles med klienter. Sådanne API'er indikeres med en
nøgle
-parameter.
WebAPI-tjenester med OAuth-aktiverede metoder inkluderer:
ICloudService,
IBroadcastService,
IGameNotificationsService,
IPlayerService og
IPublishedFileService.
For illustrations skyld bruges
http://redirect/uri/her
til at omdirigere URI'en.
Sådan kommer du i gang
Steams implementering er baseret på
OAuth 2.0.
Under den indledende opsætning skal du kontakte Valve og give følgende oplysninger:
- Hvilke tilladelser du har brug for. De krævede tilladelser vises nedenfor med hvert API-kald. Bemærk, at vi ikke tildeler et klient-ID, hvis du ikke har i sinde at understøtte Steam Cloud-synkronisering på tværs af platforme eller værkstedsunderstøttelse.
- Tokenets livstid.
- Den omdirigerede URI, der sender brugeren tilbage efter at have fuldført bekræftelsen.
Til gengæld tildeler Valve et
klient-ID til din implementering.
For at bekræfte en bruger skal du omdirigere brugeren til
https://steamcommunity.com/oauth/login?response_type=token&client_id=client_id_her&state=hvad_end_du_ønsker
Det anbefales at tildele
&mobileminimal=1
til den ovennævnte anmodning for indlejrede browsere, da det forbedrer en del af Steam-sidens navigationsbrugergrænseflade, som ikke er relevant, når OAuth-siden præsenteres direkte til en bruger inde i dit spil.
Hvis du inkluderer tilstandsparameteren, skal den sendes tilbage til den omdirigerede URI, efter at brugeren har bekræftet eller nægtet adgang. Bemærk, at autoriseringskoden understøttes, når du bruger response_type=code ved login.
Hvis brugeren tildeles adgang, omdirigeres denne tilbage til dig på adressen
http://redirect/uri/here#access_token=token_her&token_type=steam&steamid=bruger_id_her&state=hvad_end_du_ønsker
Dette token bør behandles som en ugennemsigtig streng. Tokens er i øjeblikket hexadecimale strenge på 32 tegn, men dette kan ændres. Denne API inkluderer en udfaset steamid-parameter, som skal ignoreres. Se artiklen
Hent brugers Steam-ID for flere oplysninger om, hvordan man sikkert henter en brugers Steam-ID.
Hvis brugeren nægter adgang, omdirigeres denne tilbage til dig på adressen
http://redirect/uri/here#error=access_denied&state=hvad_end_du_ønsker
Bemærk, at responsen (inklusive tokenet) gives i URI-fragmentet, så det skal tilgås på klientsiden og sendes tilbage til din server, hvis du har brug for at lave en anmodning på serversiden.
Når du har brugerens token, kan du begynde API-anmodningen, som dokumenteret nedenfor.
Medmindre andet er noteret nedenfor, bør anmodninger være HTTP POST-anmodninger præsenteret som formdata og bør angive denne header:
Indholdstype: application/x-www-form-urlencoded
Tilgå Steam Cloud
https://api.steampowered.com/ISteamUserOAuth/GetTokenDetails/v1/?access_token=token
Tilgå Steam Cloud
For at tilgå Steam Cloud på vegne af en bruger, skal din OAuth-klient have tilladelserne
read_cloud
og/eller
write_cloud
.
Disse tilladelser tildeles ud fra appID, så sørg for at specificere alle appID'er, som skal inkluderes, når du opretter dit klient-ID.
Når du har OAuth-tokenet, skal du bruge Steam-WebAPI'en
ICloudService.
Tilgå Steam-værksted
For at tilgå Steam-værkstedet på vegne af en bruger, skal din OAuth-klient have tilladelserne
read_cloud
og/eller
write_cloud
.
Disse tilladelser tildeles ud fra appID, så sørg for at specificere alle appID'er, som skal inkluderes, når du opretter dit klient-ID.
Når du har OAuth-tokenet, skal du bruge Steam-WebAPI'en
IPublishedFileService.