Vejledning til godkendelse
Anmodninger til alle Bluebeam API-slutpunkter skal godkendes. Apps opretter forbindelse til Bluebeam ved hjælp af OAuth 2.0. Denne vejledning viser dig, hvordan du får et access_token til at godkende, på vegne af en bruger, i din app.
Før du starter godkendelsesprocessen, skal du sørge for at gøre følgende:
-
Registrer din app
-
Angiv en omdirigerings-URI
-
Gem dit klient-ID og din hemmelighed
Hvis du ikke har gjort ovenstående, kan du besøge siden Kom i gang med at bruge Bluebeam Developer Portal for at få mere at vide.
Der er områdespecifikke basis-URL-adresser, der gælder for alle slutpunkter:
-
Tyskland: https://api.bluebeamstudio.de
-
Australien: https://api.bluebeamstudio.com.au
For eksempel vil https://api.bluebeam.com/publicapi/v1/sessions i USA være https://api.bluebeamstudio.com.au/publicapi/v1/sessions i Australien.
Autorisationskodeflow
Brug kun godkendelseskode, når din app kan holde på en hemmelighed (for eksempel hvis appen kører på en webserver, som du kontrollerer). Sørg for at behandle client_secret, som du ville behandle en adgangskode.
Det første trin er at anmode om brugergodkendelse af din app. Du vil omdirigere brugeren til godkendelsesslutpunktet, hvor vedkommende bliver bedt om at logge på med deres Studio-legitimationsoplysninger og give tilladelse til din app. For at gøre dette skal du lave en GET-anmodning til godkendelsesslutpunktet med følgende parametre.
Slutpunkt for godkendelse
https://api.bluebeam.com/oauth2/authorize
Anmodningsparametre
Parametre skal sendes i en forespørgselsstreng.
|
Navn |
Beskrivelse |
|---|---|
|
|
Skal indstilles til |
|
|
Client-ID modtaget under app-registreringsprocessen (se Mine apps) |
|
|
Omdirigerings-URI specificeret under app-registreringsprocessen (se Mine apps) |
|
|
Gælder kun for Studio-slutpunkter. Se tabellen nedenfor for at se en liste over Studio-slutpunktsomfang (adskilt med mellemrum). |
|
|
Tilfældig streng genereret af din app. Studio returnerer denne tilstand i et callback til din |
Omfang for Studio-slutpunkter
|
Omfangsnavn |
Beskrivelse |
|---|---|
|
|
Skrivebeskyttet adgang til en brugers Studio-projekter og Studio-sessioner til rapportering |
|
|
Fuld adgang til brugerejede Studio-projekter og Studio-sessioner |
|
|
Få adgang til automatiserede job i Studio-projekter |
|
|
Anmod om dette omfang for at modtage et refresh_token |
Opdater tokens
Sørg for at anmode om 'offline_access'-omfanget i din anmodning om at modtage et refresh_token tilbage. Se mere om refresh_tokens i trin 4 nedenfor.
Når du vælger omfang, skal du overveje, hvilke data din app skal have adgang til. For at minimere sikkerhedsrisici skal du anmode om det nødvendige omfang.
Eksempel på anmodning
GET https://api.bluebeam.com/oauth2/authorize?response_type=code&client_id=b5f9fc7c-60dd-469f-a21e-3f4a7ceb874b&redirect_uri=http://myserver.com&scope=full_prime offline_access jobs&state=myteststate
Brugeroplevelse
Brugere vil blive ledt til Bluebeams login-side.
Efter at være logget ind kan brugeren vælge Tillad adgang for at give din app adgang til sine data.
Hvis brugeren giver adgang til din app ved at vælge Tillad adgang, modtager du et tilbagekald til den webadresse, der er angivet af redirect_uri i din oprindelige anmodning. Hvis tilbagekaldet lykkes, indeholder det en godkendelseskode, som du skal udveksle med et access_token. Sørg for at validere, at tilstanden i svaret matcher den tilstand, som du indsendte i den oprindelige anmodning. Hvis der er opstået en fejl, modtager du parameteren omdirigering med fejl.
Svarparametre
Parametre modtages som en del af forespørgselsstrengen.
|
Navn |
Beskrivelse |
|---|---|
|
|
Midlertidig godkendelseskode, der skal udskiftes med et |
|
|
Tilfældig streng genereret af din app. Bluebeam returnerer denne tilstand i et callback til din |
|
|
Dette felt indeholder en fejlkode, hvis godkendelsesanmodningen mislykkes. Se Almindelige HTML-svarkoder for godkendelses- og godkendelsesfejl. |
Eksempel på svar
https://www.myserver.com/?code=acf3cabd-08c1-44db-88a9-4f785ec7c6ec&state=myteststate
Sørg for, at godkendelseskoden ikke er synlig for brugeren som en del af omdirigeringsprocessen.
Autorisationskoden er kun gyldig i 5 minutter. Se Tokens udløbsdato for en liste over kode og tokens varigheder.
Nu, hvor du har modtaget godkendelseskoden, er det næste trin at udskifte den med et access_token fra Bluebeam. For at gøre dette skal du lave en POST-anmodning til Token-slutpunktet med nedenstående parametre.
Token-slutpunkt
https://api.bluebeam.com/oauth2/token
Anmodningsparametre
Parametre skal være formularkodede.
|
Navn |
Beskrivelse |
|---|---|
|
|
Skal indstilles til |
|
|
Autorisationskoden blev returneret i det foregående trin |
|
|
Client-ID modtaget under app-registreringsprocessen (se Mine apps) |
|
|
Klienthemmelighed modtaget under app-registreringsprocessen (se Mine apps) |
|
|
Omdirigerings-URI specificeret under app-registreringsprocessen (se Mine apps) |
|
|
Medtag områdeadskilte omfang |
cURL-eksempel
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
Eksempel 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"
}
Svarparametre
|
Navn |
Beskrivelse |
|---|---|
|
|
Dette vil altid være "bærer" |
|
|
Tiden i sekunder, indtil tokenet udløber |
|
|
Ihændehavertoken bruges til at foretage anmodninger på vegne af brugeren |
|
|
Kan ombyttes til et nyt access_token og refresh_token uden at kræve, at brugeren logger på igen |
|
|
Områdesepareret liste over ønskede omfang |
Når du har modtaget et access_token, kan du bruge det til at få adgang til API'en. Hvis du vil bruge et access_token, skal du medtage det i autorisationsoverskriften:
Authorization: Bearer {a valid access_token}
Når du sender godkendelsesoverskriften, skal du sørge for, at "B" i "Bærer" er stort. Hvis "Bærer" ikke er skrevet med stort, vises en fejlmeddelelse.
Adgangstokens
Et access_token er den faktiske streng, der giver dig mulighed for at lave anmodninger på vegne af brugeren. Hver anmodning til Bluebeams API skal indeholde et gyldigt access_token.
Hvert access_token er gyldigt i 60 minutter. Når et access_token udløber, kan der udstedes et nyt access_token uden at kræve, at brugeren logger på igen ved at udveksle et gyldigt refresh_token.
Opdater tokens
Formålet med at opdatere tokens
Opdateringstokens er en praktisk og sikker måde at foretage godkendte anmodninger til Bluebeams API uden at kræve, at brugerne skal logge på for hver anmodning.
Refresh-token ombyttes altid til 1) et access_token, der varer 1 time, og 2) et nyt refresh_token, der forbliver gyldigt, så længe det bruges mindst én gang hver 7. dag.
Når en bruger manuelt giver adgang i trin 1, kan du teoretisk set løbende udveksle gyldige opdateringstokener med adgangstokener, så brugeren aldrig behøver at godkende manuelt igen, forudsat at du udveksler opdateringstokener mindst en gang hver 7. dag.
For at få dit første refresh_token anbefaler vi at anmode om offline_access-omfanget i trin 1, så du også modtager et refresh_token.
Udskift dit refresh_token med et nyt access_token inden for 3600 sekunder efter modtagelse af det sidste access_token. Når du udskifter et refresh_token med et access_token, udstedes der et nyt refresh_token til dig.
I modsætning til access_token, der udløber efter 1 time, forbliver et refresh_token gyldigt på ubestemt tid, så længe det bruges mindst én gang hver 7. dag. Et refresh_token bliver ugyldigt, hvis det ikke bruges inden for 7 dage.
Opbevar refresh_token krypteret og på et sikkert sted. Hvis et refresh_token går tabt eller er udløbet, skal du bede brugerne om at godkende igen fra begyndelsen af OAuth-processen.
Hvis du vil udveksle et refresh_token med et nyt access_token og refresh_token, skal du lave en POST-anmodning til Token-slutpunktet:
Token-slutpunkt
https://api.bluebeam.com/oauth2/token
Inkluder i headeren en base64-kodet streng af "{your client_id}:{your client_scret}" – bemærk, at kolon skal være til stede uden mellemrum. Se eksemplet herunder.
Anmodningsparametre
Parametre skal være formularkodede.
|
Navn |
Beskrivelse |
|---|---|
|
|
Skal |
|
|
Skal indstilles til den værdi, der blev returneret under godkendelsesopkaldet |
cURL-eksempel
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
Behandl refresh_token som en adgangskode. Den skal opbevares i en krypteret tilstand og på et sikkert sted.
Tilbagekaldelse af opdateringstokener
Opdateringstokener kan tilbagekaldes. Når et refresh_token tilbagekaldes, skal brugerne godkende dem igen, når det nuværende access_token udløber.
Tokens udløb
-
Godkendelseskoder udløber efter 5 minutter.
-
Adgangstokens udløber efter 60 minutter.
-
Opdateringstokens udløber, hvis de ikke bruges mindst hver 7. dag.
Godkendelses- og godkendelsesfejl
Fortæl os, hvilke typer fejl du modtager, så kan vi hjælpe dig med fejlfinding.
Almindelige HTML-svarkoder
|
HTTP-kode |
Meddelelse |
Definition |
|---|---|---|
|
200 |
OK |
Anmodningen lykkedes. |
|
201 |
Oprettet |
Anmodningen lykkedes og resulterede i oprettelsen af nye ressourcer. |
|
204 |
Intet indhold |
Serveren opfyldte anmodningen og behøver ikke at returnere en entity-body. |
|
400 |
Dårlig anmodning |
Anmodningen kunne ikke forstås på grund af forkert udformet syntaks. |
|
401 |
Uautoriseret |
Anmodningen kræver brugergodkendelse. Hvis du har modtaget dette efter at have videregivet et access_token, kan du prøve at få et nyt access_token. Hvis du stadig modtager en 401, skal du kontrollere omfanget. Hvis du fortsat modtager et 401-nummer, skal du kontakte support på integrations@bluebeam.com. |
|
403 |
Forbudt |
Serveren forstod anmodningen, men nægter at opfylde den. |
|
404 |
Ikke fundet |
Serveren har ikke fundet noget, der matcher Request-URI. |
|
409 |
Konflikt |
Anmodningen kunne ikke gennemføres på grund af en konflikt med ressourcens aktuelle tilstand. |
Se også:
Ressourcer
Revu 21
Developer Portal
Developer Portal