Autentiseringsguide
Begäranden till alla slutpunkter för Bluebeams API måste autentiseras. Appar ansluter till Bluebeam med oauth 2.0. Den här guiden visar hur du får en access_token för att autentisera dig för en användares räkning i din App.
Innan du startar autentiseringsprocessen måste du göra följande:
-
Registrera din app
-
Ange en omdirigerings-URI
-
Spara ditt klient-ID och din hemlighet
Om du inte har gjort ovanstående besöker du sidan Kom igång med Bluebeam Developer Portal för att läsa mer.
Det finns regionspecifika bas-URL:er som gäller för alla slutpunkter:
- US: https://api.bluebeam.com
- DE: https://api.bluebeamstudio.de
- AU: https://api.bluebeamstudio.com.au
- UK: https://api.bluebeamstudio.co.uk
- SE: https://api.bluebeamstudio.se
Till exempel blir https://api.bluebeam.com/publicapi/v1/sessions i regionen US https://api.bluebeamstudio.com.au/publicapi/v1/sessions i regionen AU.
Flöde för auktoriseringskod
Använd bara autentisering med auktoriseringskod när det går att hålla en hemlighet i appen (om den till exempel körs på en webbserver som du kontrollerar). Se till att hantera filen client_secret på samma sätt som med lösenord.
Det första steget är att begära användarauktorisering för din App. Du kommer att omdirigera användaren till slutpunkten för auktoriseringen där hen blir ombedd att logga in med sina inloggningsuppgifter för Studio och bevilja behörighet till din App. Gör det genom att göra en GET-begäran till slutpunkten för auktoriseringen med följande parametrar.
Slutpunkt för auktorisering
https://api.bluebeam.com/oauth2/authorize
Begär parametrar
Parametrar måste skickas i en frågesträng.
|
Namn |
Beskrivning |
|---|---|
|
|
Måste vara inställt på |
|
|
Klient-ID som mottogs under registreringsprocessen för appen (se Mina appar) |
|
|
Omdirigerings-URI som angavs under registreringsprocessen för appen (se Mina appar) |
|
|
Gäller endast för Studio-slutpunkter. I tabellen nedan visas en lista över Studio-slutpunktsomfattningar (mellanslagsavgränsade). |
|
|
Slumpmässig sträng som genereras av din app. Studio återgår till det här läget genom ett callback till din |
Omfattningar för Studio-slutpunkter
|
Omfattningsnamn |
Beskrivning |
|---|---|
|
|
Skrivskyddad åtkomst till en användares Studio-projekt och Studio-sessioner för rapportering |
|
|
Full tillgång till användarägda Studio-projekt och Studio-sessioner |
|
|
Kom åt automatiserade jobb i Studio-projekt |
|
|
Begär det här omfattningen för att få en refresh_token |
Uppdatera tokens
Ange även omfattningen 'offline_access' i din förfrågan om att få tillbaka ett refresh_token. Läs mer om refresh_tokens i steg 4 nedan.
När du ska välja omfattningar bör du fundera på vilka datastycken som din app behöver komma åt. Begär de minimiomfattningar som krävs för att minimera säkerhetsriskerna.
Exempel på begäran
Hämta https://api.bluebeam.com/oauth2/authorize?svare_type=code&client_id=b5f9fc7c-60dd-469f-a21e-3f4a7ceb874b&redirect_uri=http://myserver.com&skope=full_prime offline_access jobb&state=myteststate
Användarupplevelse
Användare omdirigeras till inloggningssidan för Bluebeam.
Efter att ha loggat in kan användaren välja Tillåt åtkomst för att ge appen åtkomst till sina uppgifter.
Om användaren beviljar åtkomst till din app genom att välja Tillåt åtkomst får du ett callback till den URL som angavs av redirect_uri i din ursprungliga förfrågan. Om callback lyckas ingår en auktoriseringskod som du behöver byta ut mot en access_token. Kontrollera att statusen i svaret stämmer överens med det tillstånd som du skickade i den ursprungliga förfrågan. Om ett fel har uppstått får du omdirigeringen med parametern error.
Svarsparametrar
Parametrar tas emot som en del av frågesträngen.
|
Namn |
Beskrivning |
|---|---|
|
|
Tillfällig auktoriseringskod som måste bytas ut mot en |
|
|
Slumpmässig sträng som genereras av din app. Bluebeam återgår till det här läget genom ett callback till din |
|
|
Det här fältet innehåller en felkod om auktoriseringsbegäran misslyckas. Se Vanliga svarskoder i HTML för auktoriserings- och autentiseringsfel. |
Exempel på svar
https://www.myserver.com/?code=acf3cabd-08c1-44db-88a9-4f785ec7c6ec&state=myteststate
Kontrollera att auktoriseringskoden inte är synlig för användaren när du omdirigerar den.
Auktoriseringskoden gäller endast i 5 minuter. Se Tokens utgångsdatum för en lista över varaktigheter för kod och token.
Nu när du har fått auktoriseringskoden är nästa steg att byta ut den mot en access_token från Bluebeam. Gör för det här en POST-begäran till tokens slutpunkt med nedanstående parametrar.
Slutpunkt för token
https://api.bluebeam.com/oauth2/token
Begär parametrar
Parametrar måste formulärkodas.
|
Namn |
Beskrivning |
|---|---|
|
|
Måste vara inställt på |
|
|
Auktoriseringskod som returnerades i föregående steg |
|
|
Klient-ID som mottogs under registreringsprocessen för appen (se Mina appar) |
|
|
Klienthemlighet som mottas under registreringsprocessen för appen (se Mina appar) |
|
|
Omdirigerings-URI som angavs under registreringsprocessen för appen (se Mina appar) |
|
|
Inkludera mellanslagsseparerade områden |
exempel på cURL
curl [https://api.bluebeam.com/oauth2/token](https://api.bluebeam.com/oauth2/token) \
-d grant_type=authorization_code \
-d code={code returned from previous step} \
-d redirect_uri={your redirect_uri} \
-d client_id={your client_id} \
-d client_secret={your client_secret} \
-d scope= offline_access {your requested scopes} \
-X POST
Exempel på svar
{
"token_type":"Bearer",
"expires_in":3600,
"access_token":"eyJraWQiOiIybEczWnV2Q1pHRDFQX0FYclk4U0YyVVdmU2x3WHFpNWxZcUFzaHc4M05rIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULjJ0Ml9nQWtxc2RvcDFWcWR1ajdLVUZwbXdNT1ZvU1VxcmZWVm5TOUZuMU0iLCJpc3MiOiJodHRwczovL3NpZ25pbi5ibHVlYmVhbS5jb20vb2F1dGgyL2F1c2JlcGh2azBlYkk3T09UNHg3IiwiYXVkIjoiYXBpOi8vYmItYWNtIiwiaWF0IjoxNzA4OTcwMzM2LCJleHAiOjE3MDg5NzM5MzYsImNpZCI6IjBvYWc2aGFjYWhnRUtqM0loNHg3IiwidWlkIjoiMDB1YngyeThtMDlwelVKRms0eDciLCJzY3AiOlsiZnVsbF9wcmltZSJdLCJhdXRoX3RpbWUiOjE3MDg5NzAzMTcsInN1YiI6InRvcnlhZGFtc0BwbS5tZSIsImJiaWQiOiJkNzE3MGZmYy03ZjlmLTQxZjYtOTY2ZS0xOTg1NTJlNzQwOTAifQ.S8m-cIfq8m19GtJ67skC8WM4bMWvJbAAr74A7g3HrUmH66M1_MN4MaDWjgcYjNFOI1zWsiZ5qm1HODLYY92lgUfzGuiYnkvpiJEKBtIUzLec2E2uEGE5HuW6FbyiX_SdGnSKeHlTr_FfiWGcpTYF816rI6q72kFm2J_3pKA-z_6REkNhI7qouRDRIHqT88tOE9KcjrF8_HsRAuixYAOlcGoVq3rvupvNVVaekoLyGiGWovXdJ-Wrx-1pKo0r7px2_Y8ew9OWEgYCX0u8pQvvPB6HAfF8dNCGTz_jFw9MbItu70rIniDoycILZKNxOcdKTLsCK7AC5doBcg9dV0OrHQ",
"scope":"full_user offline_access",
"refresh_token":"f5Mj16b7eVXwlY3Axc7TH2oEG_FPV1BrY05ht0uin6B"
}
Svarsparametrar
|
Namn |
Beskrivning |
|---|---|
|
|
Den här kommer alltid att vara ”bärare” |
|
|
Det tar sekunder för token att gå ut |
|
|
Bärartoken som används för att göra förfrågningar för användarens räkning |
|
|
Kan bytas ut mot en ny åtkomsttoken och refresh_token utan att användaren måste logga in igen |
|
|
Mellanslagsseparerad lista över begärda områden |
När du har fått en access_token kan du använda den för att komma åt API:t. Om du vill använda en åtkomsttoken inkluderar du den i rubriken Auktorisering:
Authorization: Bearer {a valid access_token}
När du skickar auktoriseringsrubriken ska du se till att B i Bärare är stort. Om Bärare inte anges med versaler får du ett felmeddelande.
Åtkomsttoken
En åtkomsttoken är den faktiska sträng som du kan använda för att göra en begäran för användarens räkning. Varje begäran till Bluebeams API måste innehålla en giltig accesstoken.
Varje access_token är giltig i 60 minuter. När en åtkomsttoken har gått ut kan en ny åtkomsttoken utfärdas utan att användaren behöver logga in igen genom att utbyta en giltig refresh_token.
Uppdatera tokens
Syftet med uppdateringstoken
Uppdateringstokens är ett bekvämt och säkert sätt att göra autentiserade begäranden till Bluebeams API utan att användarna behöver logga in för varje förfrågan.
Uppdateringstoken byts alltid ut mot 1) en access_token som varar i 1 timme och 2) en ny refresh_token som gäller så länge den används minst en gång var sjunde dag.
I teorin gäller att när en användare manuellt beviljade åtkomst i steg 1 kan du kontinuerligt utbyta giltiga uppdateringstokens mot åtkomsttoken, så att användaren aldrig behöver auktorisera manuellt igen, förutsatt att du utbyter uppdateringstokens minst en gång var sjunde dag.
För att få din första refresh_token rekommenderar vi att du begär omfattningen offline_access i steg 1, så att du också får en refresh_token.
Byt ut din refresh_token mot en ny access_token inom 3600 sekunder efter att du fick den senaste access_token. När du byter ut en refresh_token mot en åtkomsttoken får du en ny refresh_token.
Till skillnad från access_token, som upphör efter en timme, förblir en refresh_token giltig på obestämd tid så länge den används minst en gång var sjunde dag. En refresh_token blir ogiltigt om den inte används inom sju dagar.
Förvara refresh_token krypterat och på en säker plats. Om en refresh_token försvinner eller har gått ut måste du be användarna att auktorisera igen från början av oauth-flödet.
Om du vill byta ut en refresh_token mot en ny åtkomsttoken och refresh_token gör du en POST-begäran till tokens slutpunkt:
Slutpunkt för token
https://api.bluebeam.com/oauth2/token
Inkludera en base64-kodad sträng med ”{ditt client_id}:{ditt client_scret}” i rubriken – observera att kolonet får finnas utan mellanslag. Se exemplet nedan.
Begär parametrar
Parametrar måste formulärkodas.
|
Namn |
Beskrivning |
|---|---|
|
|
Måste vara inställt på |
|
|
Måste vara inställt på det värde som returneras under auktoriseringssamtalet |
exempel på cURL
curl [https://api.bluebeam.com/oauth2/token](https://api.bluebeam.com/oauth2/token) \
-H Content-Type: application/x-www-form-urlencoded \
-H Authorization: Basic {base64 encoded string of client_id:client_secret} \
-d grant_type=refresh_token \
-d refresh_token={your refresh_token} \
-X POST
Behandla refresh_token som ett lösenord. Den bör förvaras krypterat och på en säker plats.
Återkallar uppdateringstokens
Uppdateringstokens kan återkallas. När en refresh_token återkallas måste användarna återauktorisera när den aktuella åtkomsttoken har gått ut.
Tokens utgångsdatum
-
Auktoriseringskoder går ut efter 5 minuter.
-
Åtkomsttoken går ut efter 60 minuter.
-
Uppdateringstoken upphör att gälla om de inte används minst var sjunde dag.
Auktoriserings- och autentiseringsfel
Berätta vilka typer av fel du får så kan vi hjälpa dig att felsöka.
Vanliga svarskoder i HTML
|
HTTP-kod |
Meddelande |
Definition |
|---|---|---|
|
200 |
OK |
Begäran lyckades. |
|
201 |
Skapad |
Begäran lyckades och resulterade i att nya resurser skapades. |
|
204 |
Inget innehåll |
Servern uppfyllde begäran och behöver inte returnera någon form av en enhet. |
|
400 |
Felaktiga begäranden |
Begäran kunde inte förstås på grund av felaktig syntax. |
|
401 |
Ej auktoriserad |
Begäran kräver användarautentisering. Om du får detta efter att ha skickat en åtkomsttoken kan du prova med att skaffa en ny_åtkomsttoken. Om du fortfarande får ett 401 bör du kontrollera omfattningarna. Om du fortsätter att få ett 401:a kan du kontakta supporten på integrations@bluebeam.com. |
|
403 |
Förbjudet |
Servern förstod begäran, men vägrar uppfylla den. |
|
404 |
Inte hittad |
Servern har inte hittat något som matchar Request-URI:en. |
|
409 |
Konflikt |
Begäran kunde inte slutföras på grund av en konflikt med resursens aktuella tillstånd. |
Se även:
Resurser
Revu 21
Utvecklarportalen
Utvecklarportalen
