Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

Konto

För att du ska kunna logga in i WSO2 API Manager krävs det att du har ett konto och är registrerad som “Publisher”. Skicka ett mail till Per Persson (per.z.persson@sundsvall.se) så skapar vi ett konto till dig.

Riktlinjer och regler

Innan du börjar publicera API:er så ska du ha koll på de riktlinjer och regler vi har kring livcykelhantering av API:er. Detta går att läsa på denna sida: Regler och riktlinjer

Under Livscykelhantering av APIer beskrivs vilka versioner av API:er som ska publiceras i vilken gateway och på vilken endpoint m.m.

Skapa API

Här beskrivs hur du går tillväga för att skapa ett API i WSO2 API Manager.

Skapa ett API utifrån en OpenAPI-specifikation (swagger)

  1. Surfa in på webbadressen till WSO2 API Manager Publisher, denna adress slutar på: /publisher/apis

    1. Test: https://api-im-test.sundsvall.se/publisher/apis

    2. Produktion: https://api-im.sundsvall.se/publisher/apis

  2. Logga in med dina användaruppgifter.

  3. Klicka på “CREATE API” och välj “I Have an Existing REST API”.

  4. Välj att antingen bifoga en länk till din OpenAPI-specifikation eller välj att ladda upp den direkt från din dator.

  5. I fältet “Name” anger du ett namn på ditt API. Detta namn kommer endast synas i API Managern. Välj därför ett namn som är tydligt för de som ska konsumera ditt API. Versal som första bokstav.

  6. I fältet “Context” anger du starten på sökvägen till ditt API. Detta är oftast samma som namnet på API:t men här ska det endast förekomma gemener. Eventuella mellanrum skrivs med bindestreck (example-with-spaces).

  7. I fältet “Version” anger du versionen på ditt API. Denna version inkluderas i sökvägen till ditt API.

  8. I fältet “Endpoint” anger du sökvägen till ditt bakomliggande API.

  9. I fältet “Business plan(s)” anger du om du vill ha någon begränsning på antal anrop till ditt API.

  10. Nu har du skapat ett API. För att klienter ska kunna anropa ditt API så måste du publicera det. Men först ska vi gå igenom några delar som är bra att känna till innan vi gör det.

Exponera internt och/eller externt

Tänk på skillnaden mellan olika endpoints och vilken API Gateway de exponeras i. Detta beskrivs här: https://sundsvall.atlassian.net/wiki/spaces/SK/pages/344588314/Livscykelhantering+av+APIer#Hur-konfigurerar-vi-APIer-i-API-Manager%3F

  • APIer som skall anropas av interna klienter (klienter på kommunens nät) skall nås via api-i.sundsvall.se (intern gateway)

  • APIer som skall anropas av klienter på vårt DMZ eller på Internet skall nås via api.sundsvall.se (extern gateway)

  • Om ett API har både interna och externa klienter skall det alltså vara nåbart både via api-i.sundsvall.se och api.sundsvall.se

Konfigurering

  1. När du är inne på ditt API i API Manager Publisher så finns fliken “Enivronments” till vänster. Klicka på den.

  2. Här kan du välja hur API:t ska exponeras.

    1. Valet “Production and Sandbox” innebär att API:t exponeras i vår interna gateway och endast går att nå internt på Sundsvalls kommuns nät.

    2. Valet “External Production and Sandbox” innebär att API:t exponeras externt och går att nå utanför Sundsvalls kommuns nät

  3. Klicka på “Save” för att spara ändringen.

Autentisering

  1. När du är inne på ditt API i API Manager Publisher så finns fliken “Runtime Configurations” till vänster. Klicka på den.

  2. Här kan du se “Application Level Security”. Klicka på texten så expanderas fältet.

  3. Här kan du välja vilken typ av säkerhet som ska användas på ditt API.

    1. Standard-inställningen är “Oauth2” och denna säkerhet används för icke öppna API:er (informationssäkerhetsnivå > 0). Detta är en säkerhetstyp med en tidsbegränsad accessnyckel.

    2. Ett annat alternativ för öppna API:er (informationssäkerhetsnivå = 0) är att använda säkerhetstypen “Api Key”. Detta är en säkerhetstyp med en statisk accessnyckel.

  4. Klicka i det alternativ som stämmer överens med ditt API och klicka på “Save” för att spara ändringar.

Transport level security

  1. Under samma flik som i tidigare steg (“Runtime Configurations”) ska vi även konfigurera transportprotokoll.

  2. Klicka på “Transport level security” och säkerställ att endast “HTTPS” är markerad.

  3. Klicka sedan på “Save” för att spara ändringarna.

Publicera API

  1. Nu har vi kommit fram till det sista steget. Att publicera ditt API för de som vill konsumera det.

  2. När du är inne på ditt API i API Manager Publisher så finns fliken “Lifecycle” till vänster. Klicka på den.

  3. För att kunna publicera ditt API så krävs det att du har uppfyllt vissa kriterier. Dessa ser du till höger:

  4. När du har verifierat att alla kriterier är uppfyllda så klickar du på knappen “Publish”.

  5. Nu är ditt API publicerat och redo att användas!

Skapa användare

För att konsumenterna ska få tillgång till ditt API krävs det att de är upplagda som användare i WSO2 och prenumeranter på ditt API.

Användare för en ny klient (en ny kanal t ex) skapas i Carbon av t ex Per Persson (per.z.persson@sundsvall.se).

Skapa prenumeration på API

  1. Surfa in på WSO2 API Manager Developer Portal, denna adress slutar på: /devportal

    1. Test: https://api-im-test.sundsvall.se/devportal/apis

    2. Produktion: https://api-im.sundsvall.se/devportal/apis

  2. Logga in på Developer Portal med den användare (WSO2_OpenE t ex) som skall prenumerera på APIet

  3. Klicka på det API användaren skall prenumerera på

  4. Klicka på knappen “Subscribe” till vänster

  5. Klicka på Subscribe (se nedan - ändra inte under Application eller Throttling Policy)

Skapa nycklar för en prenumerant

Det finns två typer av nycklar.

  • “Production keys”, dessa nycklar används för att anropa API:ernas “Production endpoint”

  • “Sandbox keys”, dessa nycklar används för att anropa API:ernas “Sandbox endpoint”

  1. Logga in på Developer Portal med den användare (WSO2_OpenE t ex) som skall prenumerera på APIet

  2. När du är inne på WSO2 API Manager Developer Portal och fliken “Applications” så kan du se användarens applikation (DefaultApplication)

  3. Välj Action “Edit” för DefaultApplication och klicka på “Save” utan att förändra någon information

  4. Välj antingen “Production keys” eller “Sandbox keys” i flikarna till vänster beroende på vilken typ av nycklar du vill skapa.

  5. Välj antingen “Oauth2 Tokens” eller “Api Key” beroende på vilken säkerhetstyp du valde på ditt API.

    1. För OAuth2 Tokens:

      1. Verifiera att alternativet “Client Credentials” är ikryssad vid rubriken “Grant Types”. Det är denna metod som klienten ska använda för att hämta access nyckel.

      2. Klicka på “GENERATE KEYS”

      3. Du ser nu en “Access Token”, denna behöver du inte. Så klicka på “CLOSE”.

      4. Nu kan du se “Consumer Key” och “Consumer Secret”. Klicka på kopieringssymbolen i dessa fält och spara dessa på en säker plats. Dessa ska vi skicka till konsumenten på ett säkert sätt i nästa steg.

    2. För API Key:

      1. Klicka på “GENERATE KEY”

      2. Du ser nu en genererad API Key, klicka på kopieringssymbolen till höger om fältet och spara denna på en säker plats. Denna nyckel ska vi skicka till konsumenten på ett säkert sätt i nästa steg.

Leverera nycklar på ett säkert sätt

Denna information ska förmedlas till konsumenten:

  1. Namnet på användaren nycklarna tillhör

  2. Typ av nyckel (Production eller Sandbox)

  3. Säkerhetstyp (Oauth2 eller API Key)

    1. Om säkerhetstypen är Oauth2, informera om att vi använder “Client Credentials” som “Grant Type”

  4. Nycklarna

  5. URL till det API som kan anropas med nycklarna

Nu måste vi leverera denna information till konsumenten som ska använda dessa. För att inte fel person ska få tag i dessa nycklar så krävs det att vi skickar dessa på ett säkert sätt. Ett enkelt sätt att skydda informationen är att skicka ett Word-dokument som är krypterat med lösenord. Här kommer en beskrivning på hur du går tillväga:

  1. Skapa ett nytt Word-dokument

  2. Gå på Arkiv > Info > Skydda dokument > Kryptera med lösenord

  3. Välj ett lösenord

  4. Spara dokumentet

När du sedan ska skicka detta dokument så ska du skicka dokumentet och lösenordet i två separata mail. Ett annat alternativ är att skicka lösenordet i en helt annan kommunikationskanal, t.ex. Skype. Det är ännu säkrare.

Testa anrop

Nu har vi alla delar på plats. Nu kan vi testa ett anrop mot ditt API med den användare vi har skapat.

Testa från DevPortal

  1. Surfa in på webbadressen till WSO2 API Manager Developer Portal, denna adress slutar på: /devportal

  2. Gå in på fliken “APIs” och välj det API du vill testa anrop mot.

  3. Gå in på fliken “Try Out” i menyn till vänster.

  4. Välj vilken säkerhetstyp du vill använda under “Security Type”.

  5. Välj vilken användare du vill använda i anropet under “Applications”.

  6. Välj vilken nyckel du vill använda under “Key Type”.

  7. Klicka på knappen “GET TEST KEY” för att generera en testnyckel. Denna nyckel påverkar inte de nycklar vi genererade i det tidigare steget.

  8. Välj vilken “Gateway” du vill gå via.

  9. Scrolla ned och välj vilket anrop du vill utföra.

  10. Klicka på “Try it out” och sedan “Execute” så utförs anropet.

Testa från Postman

Om du vill testa ett anrop från postman så kan du importera anropet från det tidigare test vi utförde i DevPortal.

  1. När du har utfört ett anrop från DevPortal så kan du se följande:

  2. Kopiera allt innehåll i textrutan under “Curl”.

  3. Öppna Postman och klicka på “Import” uppe till vänster.

  4. Välj fliken “Raw text”.

  5. Klistra in din kopierade text.

  6. Klicka på “Continue” och sedan “Import”.

  7. Nu har du anropet i Postman och kan klicka på “Send” för att utföra anropet.

Den access token som används här är en så kallad “Test key”. Giltigheten av denna kommer så småningom löpa ut. Om du vill fortsätta testa anrop måste du generera en ny access token. Detta kan du göra på följande sätt:

  1. Surfa in på webbadressen till WSO2 API Manager Developer Portal, denna adress slutar på: /devportal

  2. Gå in på fliken “Applications”.

  3. Gå in på den användare du vill generera en access token för.

  4. Välj antingen att gå in på “Production Keys” eller “Sandbox Keys”.

  5. Gå sedan in på “Oauth2 Tokens”.

  6. Klicka på knappen “GENERATE ACCESS TOKEN”.

  7. Klicka på “GENERATE”.

  8. Du kan nu se din access token. Kopiera denna.

  9. I Postman, gå in på fliken “Headers” i ditt anrop.

  10. Byt ut värdet på din “Authorization”-header. Den ska bestå av: “Bearer <din nya access token>

  11. Nu ska anropet fungera igen.

  • No labels