Jos käytät Portalissa API:a, joka edellyttää tokenien käyttöä (Client ID:t ja Client Secretit), tässä artikkelissa kerrotaan, miten ne luodaan.
Huomaa, että vain "owner"- ja "admin"-käyttäjillä on pääsy API Configuration -sivulle. On suositeltavaa luoda erillisen admin-käyttäjän API-yhteyksiä varten. Esimerkiksi Shipment Data API:ssa tämä mahdollistaa shipment viewer -profiilin mukauttamisen vastaamaan tarkasti palautettavia tietoja ilman, että se vaikuttaa muiden käyttäjien käyttöliittymäasetuksiin.
Jos et tunne nShift Shipissä käytettyjä käyttäjätyyppejä ja rooleja, suosittelemme lukemaan tämän artikkelin: Käyttäjätyyppien ja roolien ymmärtäminen.
Client ID:n ja Client Secretin luominen
- Kirjaudu nShift Portaliin owner-käyttäjälläsi.
- Klikkaa oikeasta yläkulmasta Settings.
- Valitse vasemmanpuoleisesta valikosta API Configuration > Clients.
- Klikkaa Clients-sivulla Add-painiketta.
- Täytä avautuvaan valintaikkunaan Display name ja Description. Valitse nimi ja kuvaus, joiden avulla token on helppo tunnistaa myöhemmin. Valitse Enable-valintaruutu aktivoidaksesi tokenin heti. (Voit ottaa tokenin käyttöön tai poistaa sen käytöstä milloin tahansa sen luomisen jälkeen).
- Valitse Allowed Scopes, eli API:t, joihin tarvitset käyttöoikeuden.
- Klikkaa Save. Client Id ja Client Secret luodaan nyt ja näytetään näytöllä. Tärkeää: Tallenna tokenit, sillä Client Secret ei ole enää saatavilla ponnahdusikkunan sulkemisen jälkeen.
- Klikkaa Save viimeistelläksesi tokenin luomisen.
- Token näkyy nyt Clients-sivulla. Voit klikata tokenia milloin tahansa muokataksesi tai poistaaksesi sen tai ottaaksesi sen käyttöön/pois käytöstä. Jos sinulla on pitkä lista tokeneita, voit käyttää yläreunan suodatinta näyttääksesi vain käytössä olevat tai käytöstä poistetut tokenit.
Yleiskatsaus scopeihin
Tämä lista selittää eri scopejen käyttötarkoitukset. Turvallisuussyistä suosittelemme valitsemaan vain tarvitsemasi scopet. On parempi luoda useita Client ID:itä rajatuilla scopeilla kuin yksi ID, joka kattaa useita scopeja.
-
Public Containers API (public_containers_api) - Tarvitaan container-API:n käyttämiseen konttien hallintaan. Lue lisää container-API:sta täältä. Tarvitset tämän scopin myös, jos haluat käyttää kontteja nShift On-premisesissa, lue lisää täältä.
-
Public COP Cloud Access (public_cop_cloud_access) - Käytetään turvalliseen viestintään On-premisesin ja Portalin välillä tilausten suorittamiseksi.
-
ScanApp public Api (public_api_scanapp_consignor) - Tarvitaan konttien käyttämiseen nShift On-premisesissa. Tämä scope antaa On-premisesille pääsyn hakemiseen luettelosta käytettävissä olevista Action Centeristä asennukseen liitetyn ownerin perusteella. Lue lisää konteista On-premisesissa täältä.
-
Portal Shipment Data API (public_api_portal_shipment_data) - Tarvitaan, kun haluat käyttää Shipment Data API:a lähetystietojen hakemiseen Portalista. Lue lisää Shipment Data API:sta täältä.
- Shipment Server (public_api_shipmentserver) - Tämä scope tarvitaan Shipment Server API version 2 käyttämiseen. Lue lisää täältä.
Käyttöoikeustokenin hankkiminen
Käytä Client ID:täsi ja Client Secretiäsi käyttöoikeustokenin luomiseen, jota tarvitaan muihin API-pyyntöihin. Tämä tehdään lähettämällä POST-pyyntö seuraavaan token endpointiin:
https://account.nshiftportal.com/idp/connect/token
Määritä Client ID, Client Secret ja grant type yrityksesi käyttämällä ohjelmointikielellä ja frameworkilla.
Esimerkki:
POST https://account.nshiftportal.com/idp/connect/token
Cache-Control: no-cache
Host: www.nshiftportal.com
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials
Jos pyyntö on kelvollinen ja client on määritetty oikein, saat takaisin JSON-vastauksen:
{
"access_token": "some-real-token-data-dskjfhsuijkdhfgjkasjdgfhqoeiefoiknsoidfgvoiltgjvpdrofjmwpkldujrftvoifgkhbnilsakjprotglijkqp2owrlfjkvmowrifgho2qw9ouejifpe9rodtuj3-0porfij9odtujgw0etioyh",
"expires_in": 3600,
"token_type": "Bearer"
}
Lisälukemista
Kaikki uudet API:mme tukevat OpenID-ratkaisua paremman turvallisuuden takaamiseksi. Lisätietoja löytyy OpenId- ja IdentityServer-standardidokumentaatiosta: