Authentication

I denne artikel:


Attention   

 

Introduktion

For at interagere med SmartWeb GraphQL API, skal du angive passende adgangsoplysninger til godkendelse med hvert HTTP request. Fremgangsmåden til opsætning og anskaffelse af disse oplysninger er beskrevet i de følgende afsnit.

 

Administration af OAuth klienter

For at generere tokens til godkendelse med OAuth2, kræves at du opretter en OAuth klient i shoppens administration. Du finder indstillingerne for OAuth under Kontrolpanel > API:

Klik på knappen Opret OAuth Klient.

Bemærk: OAuth klienten udløber aldrig. Adgangstoken er gyldig i 24 timer.

 

Indtast den ønskede titel og klik Gem:

 

I API-oversigten vil den nye klient nu være synlig med klientkoden:

  1. Vis API-log
  2. Rediger klient
  3. Luk klient

 

Klik på blyantikonet for at redigere klienten:

Ud over at ændre titlen på din klient, kan du lukke klienten permanent, og ligeledes generere en ny klient kode. Benyt Klient id og Klient kode (secret), som vist i sektionen herunder, til at generere et adgangstoken.

 

Generering af API-adgangstoken

For at generere et adgangstoken, foretages et HTTP POST request med Klient id og Klient kode, som oprettet i shoppens administration:


   curl --request POST \
        --data 'grant_type=client_credentials&client_id=[client-id]&client_secret=[client-secret]&scope=' \
        https://[tenant].mywebshop.io/api/oauth/token
    

  • [client-id] —Klient id, som oprettet i shoppens administration
  • [client-secret] —Klient kode, som oprettet i shoppens administration
  • [tenant] —Det shopnummer du ønsker forespørge imod, f.eks. sw99999

 

Foretag godkendte anmodninger

Efter klienten har modtaget et API-adgangstoken, er det nu muligt at lave godkendte requests til GraphQL API. Requests indeholder en header: Authorization: Bearer {access_token} hvor {access_token} byttes ud med det genererede adgangstoken.

Her er et eksempel på et request med adgangstoken:


   curl -H 'Accept: application/json' \
        -H 'Content-Type: application/json' \
        -H "Authorization: Bearer [token]" \
        --data-binary '{"query":"query{orders{data{id}}}","variables":{},"operationName":null}' \
        https://[tenant].mywebshop.io/api/graphql
    

 

Foretag godkendte anmodninger med Postman

I stedet for at benytte curl til at foretage forespørgsler, kan du også benytte Postman, der giver mulighed for at arbejde i en grafisk brugerflade, hvor du kan gemme dine forespørgsler til fremtidig brug.

Du kan downloade Postman her.

Med Postman installeret, start en ny forespørgsel og set Authorization til typen "Bearer Token", udfyld Token feltet med token genereret ovenfor:

Herefter klikker du på Body, og vælger "GraphQL" hvorefter du udfylder QUERY feltet således:

Således kan du nu foretage godkendte anmodninger op imod din løsning.