Steamworks-dokumentation
OAuth
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'enIPublishedFileService.