Disclaimer: Dit artikel is gegenereerd door automatische vertaling.

JWT

Prev Next

Gebruik JWT (JSON Web Token) om lezers in te loggen op je eigen kennisbanksite vanuit je eigen applicatie. Een JWT is een ondertekend token dat de identiteit van de lezer draagt: lezers loggen in bij je applicatie, en Document360 vertrouwt op die inlogging, dus je hebt geen identiteitsprovider (IdP) of lezersaccounts nodig in Document360.

Dit artikel helpt je beslissen of JWT geschikt voor je is, toont de volgorde van de installatie en legt de aanmeldprocessen uit die je ontwikkelaars zullen opbouwen.


Bepaal of JWT geschikt is voor jou

Gebruik JWT als:

  • Je hebt geen IdP, of je geeft er de voorkeur aan om het aanmelden in je eigen applicatie te beheren.
  • Je wilt het inloggen en de lezerprovisionering vanuit je applicatie regelen.

Gebruik in plaats daarvan SAML of OpenID Connect als:

  • Je organisatie gebruikt al een IdP, zoals Okta, Microsoft Entra ID of Google Workspace, en je wilt dat lezers via deze ID inloggen.
  • Gebruikers moeten inloggen op het kennisbankportaal. JWT meldt lezers alleen in op de kennisbanksite.
  • Je moet SSO-lezers automatisch registreren, lezers zichzelf laten registreren, of de aanmeldpagina van Document360 overslaan. JWT ondersteunt deze niet.

JWT opzetten

Voordat je begint

  • Je hebt de rol Eigenaar of Beheerder nodig in je Document360-project.
  • Je hebt een ontwikkelaar nodig die de inloglogica aan de backend van je applicatie kan toevoegen.

Volg deze stappen in volgorde:

  1. Configureer JWT in Document360: Maak je JWT-configuratie aan en haal je Client ID en Client Secret op.
  2. Implementeer JWT in je applicatie: Voeg de backend-redirectlogica toe, met codevoorbeelden in C#, Node.js en Java.
  3. Test je JWT-configuratie: Controleer je setup met cURL of Postman voordat je live gaat.
  4. (Optioneel) Wijzigingen van de inloginstellingen: Zet Direct JWT-login aan om lezers direct naar je aanmeldpagina te sturen.

Hoe JWT-aanmelden werkt

Deze sectie is voor de ontwikkelaar die JWT implementeert. Document360 gebruikt een flow vergelijkbaar met PKCE (Proof Key for Code Exchange), een veilige OAuth-methode: je backend wisselt de identiteit van de lezer uit voor een eenmalige code, en Document360 ruilt die code voor een token.

Flow diagram of how a reader signs in to the knowledge base site through your application using JWT

Belangrijke termen

Term Wat het is
Aanmeld-URL De aanmeldpagina in je aanvraag. Document360 stuurt lezers hierheen om in te loggen.
Code generatie URL Het Document360 identity server endpoint roept je backend, met je Client ID en Client Secret, om een eenmalige autorisatiecode te verkrijgen.
Callback-URL De Document360-URL waar je applicatie de lezer naartoe stuurt met de code. Document360 genereert het voor je.

Aanmeldstroom

Sequence diagram of JWT sign-in between the reader's browser, your application, the Document360 identity server, and the Document360 knowledge base site

  1. De lezer opent je privé kennisbanksite. Document360 ziet dat JWT is ingeschakeld en stuurt de lezer naar je aanmeld-URL.
  2. De lezer logt in bij je aanvraag, als dat nog niet zo is. Je aanvraag controleert hun referenties.
  3. Je backend vraagt om een eenmalige autorisatiecode. Het stuurt een POST verzoek naar de Code generatie URL, geautoriseerd met HTTP Basic Auth via je Client ID en Client Secret:
    Authorization: Basic Base64Encode(clientId:clientSecret)
With this JSON payload:
    {
      "username": "firstname lastname",
      "firstName": "firstname",
      "lastName": "lastname",
      "emailId": "reader email",
      "readerGroupIds": ["reader-group-id"],
      "tokenValidity": 15
    }
| Field | Description |
|---|---|
| `username` | The reader's full name. |
| `firstName` | The reader's first name. |
| `lastName` | The reader's last name. |
| `emailId` | The reader's email address. |
| `readerGroupIds` | (Optional) The reader groups that control which content the reader can see. Get the IDs from the **Reader groups** overview page in the Document360 portal. |
| `tokenValidity` | How long the reader's session lasts, in minutes. See [Token validity and sessions](#token-validity-and-sessions). |
  1. Document360 geeft een autorisatiecode terug. De Document360-identiteitsserver controleert je Client ID en Client Secret, en als die geldig zijn, stuurt hij een eenmalige code naar je backend.
  2. Je applicatie stuurt de lezer terug naar Document360. Je backend voegt de code toe aan de callback-URL en leidt de lezer door, bijvoorbeeld https://yourproject.document360.io/jwt/authorize?code=xyz. De code werkt maar één keer.
  3. Document360 wisselt de code uit voor een token. De kennisbanksite stuurt de code naar de identiteitsserver via een beveiligd achterkanaal en ontvangt een JWT met de gegevens van de lezer.
  4. Document360 start de sessie van de lezer. Het controleert het token, leest de details en lezergroepen van de lezer, en geeft hen toegang tot de categorieën, talen en versies die die groepen toestaan.

Tokengeldigheid en sessies

  • Stel de sessieduur in met tokenValidity, van 5 tot 1.440 minuten. Waarden onder 5 worden 5, en waarden boven 1.440 worden 1.440.
  • Wanneer het token verloopt, stuurt Document360 de lezer terug naar je aanmeld-URL. Als ze nog steeds zijn ingelogd bij je applicatie, wordt er nieuwe code gegenereerd en gaat hun sessie verder zonder een nieuwe inlog.
  • Het uitloggen van je applicatie beëindigt de Document360-sessie van de lezer niet. De sessie blijft actief totdat het token verloopt. Bijvoorbeeld, met een geldigheid van 1.440 minuten houdt de lezer toegang tot een dag na het uitloggen.

Doe meer met JWT


FAQ

Kan ik JWT gebruiken met SAML of OpenID Connect tegelijk?

Ja. JWT kan actief zijn naast SAML- of OpenID Connect-configuraties in hetzelfde project. Elk wordt afzonderlijk beheerd, en wijzigingen aan de ene hebben geen invloed op de andere.

Kan ik meer dan één JWT-configuratie in een project hebben?

Ja. Je kunt tot vijf JWT-configuraties tegelijk actief hebben in een project.

Wat moet ik doen als ik mijn geheime tokens verlies?

Geheime tokens verschijnen slechts één keer, wanneer je de configuratie aanmaakt. Om een nieuwe te krijgen, bewerk je de configuratie en selecteer je Regenereren naast de token. De oude token stopt onmiddellijk met werken, dus update je applicatie direct met de nieuwe token om mislukte aanmeldingen te voorkomen.