Godkendelse af OAuth-apps

Man kan aktivere organisationsmedlemmer til at godkende OAuth-appen.

Når der bygges en OAuth app, så implementér web-app flow’et beskrevet nedenfor for at få en godkendelseskode og så omveksle denne til et token.

Anmod om Godkendelseskode

Brugeren skal omdirigeres til /oauth/autorisere-endpoint’et med flg. GET-parametre:

GET https://accounts.crowdin.com/oauth/authorize

Dette vil bede brugeren godkende app-adgang til vedkommendes konto baseret på anvendelsesområderne angivet i REQUESTED_SCOPES og så omdirigere tilbage til REDIRECT_URI’en angivet ved app-oprettelsen.

Parametre

Navn Parameter Beskrivelse
client_id string Krævet. Man modtager Klient-ID'en for app'en, når den registreres.
redirect_uri string Krævet. URL'en i appen, hvortil brugeren videresendes efter godkendelse.
response_type: code string Krævet. Parameteren bruges til flowspecifikationen for en OAuth app.
omfang string Krævet. Vælg den krævede app-adgang fra listen over tilgængelige anvendelsesområder. You can add multiple scopes separated by spaces (no need to use quotation marks).
state string En ugættelig, tilfældig streng. Brug denne som ekstra beskyttelse mod forespørgselsforfalskninger på webstedet.

Flg. Godkendelses-URL oprettes:

https://accounts.crowdin.com/oauth/authorize?client_id=m50YenPpqac8u5D4dnK&redirect_uri=https://impact-mobile.com/auth/crowdin&response_type=code&scope=project+tm&state=d131dd02c5e6eec4

Brugeren dirigeres efter godkendelsen retur til eget websted:

https://impact-mobile.com/auth/crowdin/?code=def50200df1fbb5ebac05f9288850d9e...0835bd3cf42&state=d131dd02c5e6eec4

Afvises godkendelsen, omdirigeres brugeren til eget websted med en fejl:

https://impact-mobile.com/auth/crowdin/?error=access_denied&state=d131dd02c5e6eec4

Brugeren omdirigeres retur til eget websted af Crowdin

Godkender en bruger appen, omdirigerer Crowdin retur til eget websted, og den modtagne kode kan udveksles for et adgangstoken:

POST https://accounts.crowdin.com/oauth/token

Parametre

Navn Parameter Beskrivelse
grant_type: authorization_code string Krævet. Parameteren bruges til flowspecifikationen for en OAuth app.
client_id string Krævet. Man modtager Klient-ID'en for app'en, når den registreres.
client_secret string Krævet. Man modtager Klient Hemmeligheden til appen, når man registrerer den.
redirect_uri string Krævet. URL'en i appen, hvortil brugeren videresendes efter godkendelse.
kode string Krævet. Kode modtaget fra tilbagekaldsforespørgselsstrengen.

Forespørgsel i curl antager f.eks. flg. form:

curl -X POST \
https://accounts.crowdin.com/oauth/token \
-H "content-type: application/json" \
-d "{ \"grant_type\":\"authorization_code\", \"client_id\":\"m50YenPpqac8u5D4dnK\", \"client_secret\":\"yz35kYtjox...YE9Am\", \"redirect_uri\":\"https://impact-mobile.com/auth/crowdin\", \"code\":\"def50200df1fbb5ebac05f9288850d9e...0835bd3cf42\" }"

Svar

Svaret antager som standard flg. form:

{
    "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJS...lag1e_Zk4EdJ5diYfz0",
    "token_type":"bearer",
    "expires_in": 7200,
    "refresh_token": "b213c684ccaa7db1217e946e6ad...fff7ae"
}

Foretage forespørgsler til API med Adgangstoken returneret

The access token now allows you to make requests to Crowdin API on behalf of the authorized user.

I curl, kan man f.eks. angive flg. Godkendelses-header:

curl -H "Authorization: Bearer ACCESS_TOKEN" https://api.crowdin.com/api/v2/projects

Crowdin Enterprise:

curl -H "Godkendelse: Indehaver ACCESS_TOKEN" https://<organization_domain>.api.crowdin.com/api/v2/projects
Note: To obtain the Crowdin Enterprise organization_domain, parse the access token structured according to JWT specifications, and extract the required organization_domain from it.

Read more about JWT Token Structure.

Opfrisk token

Adgangstokenet, der modtages efter at en bruger godkender appen, har en udløbstid. Adgangstoken udløber i det antal sekunder, der er defineret i svaret.

For at opfriske et token uden krav om omdirigering af brugeren, så send en POST-forespørgsel til godkendelsesserveren med flg. parametre:

POST https://accounts.crowdin.com/oauth/token

Parametre

Navn Parameter Beskrivelse
grant_type: refresh_token string Krævet. Parameteren bruges til flowspecifikationen for en OAuth app.
client_id string Krævet. Man modtager Klient-ID'en for app'en, når den registreres.
client_secret string Krævet. Man modtager Klient Hemmeligheden til appen, når man registrerer den.
refresh_token string Krævet. Opfrisk token modtaget fra det seneste godkendelsessvar.

Forespørgsel i curl antager f.eks. flg. form:

curl -X POST \
https://accounts.crowdin.com/oauth/token \
-H "content-type: application/json" \
-d "{ \"grant_type\":\"refresh_token\", \"client_id\":\"m50YenPpqac8u5D4dnK\", \"client_secret\":\"yz35kYtjox...YE9Am\", \"refresh_token\":\"b213c684ccaa7db1217e946e6ad...fff7ae\" }"

Svar

Svaret antager som standard flg. form:

{
    "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJS...ZjFkMWI4OWFlIiwiaWF",
    "token_type":"indehaver",
    "expires_in": 7200,
    "refresh_token": "ea506ea4c37aa152f0a91ed2482...4a0c567"
}

Omdirigerings-URL’er

Der kan registreres en eller flere omdirigerings-URL’er, når en OAuth-app oprettes i Crowdin.

Er URL’en ikke er medtaget i Applikationsinfo, vil man af sikkerhedshensyn ikke kunne omdirigere brugere til hertil efter godkendelse.

Var denne artikel nyttig?