For at sikre et højt sikkerhedsniveau i situationer, hvor Crowdin-appen aebejder med data fra Enterprise (f.eks. bruger godkendelsen via authorization_code
), er der udviklet en sikkerhedsmekanisme. Hovedprincippet i denne sikkerhedsmekanisme er baseret på udvekslingen af JWT-token mellem Enterprise og Crowdin-appen. JWT-token’et er signeret med en OAuth Client-hemmelighed kun kendt af de to deltagende parter. På denne måde kan Crowdin-appen få en bekræftelse af, at siden er åbnet specifikt i Enterprise.
Følg disse trin for at implementere godkendelse og bekræftelse i Crowdin-appen:
authorization_code
til app-descriptor’en og tilføj OAuth Client ID’et, der vil blive brugt til godkendelse.Vha. ovenstående metoder for hver forespørgsel til Crowdin-appen, vil Enterprise videreformidle et sæt parametre sammen med et sikkerhedstoken, som kan valideres af en hemmelighed fra OAuth.
Nedenfor ses et eksempel på den URL, der af Enterprise bruges til at åbne en modulside.
Forespørgselsparametre:
jwtToken | Type: Beskrivelse: JWT-token bruges til godkendelse. |
origin | Type: Beskrivelse: Vært brugt til at åbne en modulside. |
clientId | Type: Beskrivelse: OAuth-klients ID brugt til godkendelse. |
Den bedste praksis vil være at føje middleware til Crowdin-appen for at bekræfte, om hver anmodning har et token med en gyldig signatur og udløbsdato. Et af de eksisterende biblioteker kan bruges til at bekræfte token-ægtheden.
Et JWT-token udgøres af flg. dele:
JWT-token payload eks.:
{
"aud": "Br4a2hpQiNW96anuuO4a",
"sub": "1",
"domain": null,
"context": {},
"iat": 1600000000,
"exp": 1600000900
}
Egenskaber:
aud | Type: Beskrivelse: OAuth-klients ID brugt til tokenudstedelse. |
sub | Type: Beskrivelse: Identifikator for den bruger, der fremsætter en anmodning til Crowdin-appen. |
domain | Type: Required: yes Beskrivelse: Navnet på organisationen, hvorfra appen tilgås. |
context | Type: Beskrivelse: Informationen om miljøet, hvori Crowdin app-modulet åbnes (f.eks. projekt, organisation, landestandard, brugers tidszone mv.). |
iat | Type: Beskrivelse: Identificerer token-udstedelsestidspunktet. |
exp | Type: Beskrivelse: Identificerer token-udløbstidspunktet. |
If you configured an IP allowlist for your Crowdin Enterprise organization, you need to add your Crowdin app’s IP address to your organization’s IP allowlist. Also, implement the same IP allowlist in your Crowdin app for improved security. In this case, make sure to add the following IP addresses of Crowdin Enterprise: