Plannen die single sign on (SSO) ondersteunen
Plans supporting this feature: Enterprise
Wat is een JWT?
Een JSON Web Token (JWT) is een versleuteld tokenformaat dat gegevens zoals inloggegevens (verificatie en autorisatie) veilig overdraagt tussen twee toepassingen. JWT wordt specifiek gebruikt om aanmeldingen van lezers in Document360 te verifiëren. Klik hier om meer te lezen over JWT.
Eenmalige aanmelding voor ondernemingen met behulp vanJWT
Document360 gebruikt een aanpak die vergelijkbaar is met PKCE (Proof Key for Code Exchange, een veilige OAuth-methode) om het JWT-token te genereren.
Het onderstaande diagram op hoog niveau laat zien hoe uJWT authenticatiestroom in Document360 kunt bereiken.
Stappen in de JWT authenticatiestroom
Wanneer de eindgebruiker toegang probeert te krijgen tot de kennisbank die is geconfigureerd met JWT, zal de Document360-kennisbank de eindgebruiker omleiden naar de inlog-URL die het teamaccount heeft geconfigureerd in de instellingen van Document360 JWT.
Ervan uitgaande dat de geconfigureerde aanmeldings-URL zich in de klanttoepassing bevindt, waarvoor verificatie is vereist.
Door het inlogeindpunt in de klanttoepassing aan te roepen, wordt de inloglogica aangeroepen, die een verzoek verzendt met:
Gegevens van de gebruiker
Client-ID en clientgeheim naar de URL voor het genereren van de identiteitsservercode om de authenticatiecode op te halen
Dit proces gebeurt via het backchannel.
De URL voor het genereren van code accepteert de POST-verzoeken met de JSON-payload die hieronder wordt weergegeven:
De client-ID en het geheim moeten worden verzonden als een basisautorisatieheader.
Volg deze link om erachter te komen hoe de header moet worden gevormd voor basisauthenticatie.
JSON-lading
{
"username": "firstname + lastname",
"firstName": "firstname",
"lastName": "lastname",
"emailId": "user emailId",
"readerGroupIds": ["Obtain from Reader groups overview page in the Document360 portal (Optional)"],
"tokenValidity": 15 //minutes *()*
}
NOTITIE
Zorg voor de juiste JSON-syntaxis om configuratiefouten te voorkomen.
De identiteitsserver genereert de code op basis van de gebruikersgegevens, client-ID en clientgeheim en stuurt de gegenereerde code terug naar de klanttoepassing.
Dit gebeurt via het backchannel.
Zodra de klanttoepassing de verificatiecode van de identiteitsserver heeft ontvangen,
De klant-app voegt de code toe aan de callback-URL die te vinden is in de JWT-instellingen en leidt de gebruiker om naar de callback-URL met de code.
Bijvoorbeeld:
HTTPS://{project_name}.document360.io/jwt/authorize?code={code}
NOTITIE
De authenticatiecode is een code voor eenmalig gebruik en kan niet opnieuw worden gebruikt.
Zodra de knowledge base de verificatiecode in de queryparameter heeft ontvangen, wordt de code via een backchannel naar de identiteitsserver verzonden voor het ID-token en het toegangstoken.
Zodra de kennisbank het ID-token heeft ontvangen, wordt er een sessie gemaakt namens de gebruiker die in de eerdere gebruikersgegevens wordt genoemd.
Standaard is deze sessie 15 minuten geldig. Zodra de sessiecookie is verlopen, wordt de eindgebruiker doorgestuurd naar de inlog-URL (gehost in de klanttoepassing) om een nieuwe code te krijgen en wordt de stroom herhaald.
De vernieuwing van de sessie zal naadloos verlopen omdat de gebruiker al is geverifieerd bij de klanttoepassing
Geldigheid van tokens
De minimale waarde die kan worden ingesteld is 5 minuten en de maximale waarde die kan worden ingesteld is 1440 minuten (1 dag).
krul
Als u de JWT-configuratie wilt testen, kunt u de cURL-opdracht gebruiken met de volgende specificaties. De HTTP-versie moet worden opgegeven (HTTP2 via TLS en versie van SSL naar TLS 1.2. Zonder dit zou de cURL mislukken.
NOTITIE
In tegenstelling tot andere beschikbare IdP-opties (Okta, Azure AD, enz.), heeft de gebruiker geen apart lezersaccount nodig op Document360. Een account op de clientapplicatie is voldoende.
Na het inschakelen van de JWT-login kan de lezer de clienttoepassing gebruiken om in te loggen als lezersaccount op de Document360-kennisbanksite.
NOTITIE
Momenteel biedt Document360 een of-of-functionaliteit voor de SSO-standaarden. Zodra de IdP is geconfigureerd met behulp van een SSO-standaard (SAML, OpenID of JWT) voor een project, kan de gebruiker geen nieuwe gelijktijdige sessie maken.
Bijv. Als een project is geconfigureerd in de OpenID-standaard met Okta als IdP, worden de SAML- en JWT-opties uitgeschakeld.
SSO configuratie
Een JWT aanmaken
Als u een JSON Web Token (JWT) wilt maken,
Log in op het Document360 portaal.
Ga naar ()> Users & security > JWT.
Maak vanaf hier een JWT (Client secret) aan door op de knop JWT maken te klikken.
Kopieer het gegenereerde clientgeheim door op het kopieerpictogram te klikken en op Sluiten te klikken.
NOTITIE
Hetzelfde gegenereerde clientgeheim is niet beschikbaar wanneer u deze sectie opnieuw bezoekt. Indien nodig moet het geheim van de klant worden geregenereerd.
De JWT-configuratiepagina met alle gegevens is nu beschikbaar.
JWT-configuratie
Nadat een JWT is aangemaakt, is de JWT-configuratiepagina zichtbaar.
Stel uw applicatie in: Kopieer de client-id, callback-URL, URL voor het genereren van code, clientgeheim en plak deze in de juiste velden in de clienttoepassing
JWT-status: Schakel de JWT SSO-aanmelding voor lezers in of uit met deze schakelaar. Als de wisselknop is uitgeschakeld, kunnen lezers zich niet aanmelden bij de kennisbanksite met de inloggegevens van hun client-app.
JWT verwijderen: Klik op de knop Verwijderen om de geconfigureerde JWT te verwijderen. U kunt deze actie niet ongedaan maken.
JWT-basisconfiguratie: Plak de inlog-URL die is verkregen uit de applicatie van de client.
Lezers komen terecht op de speciale afmeldpagina voor JWT SSO-lezers als er geen aangepaste afmeldlink is opgegeven.
Omleiding naar andere pagina's in plaats van de startpagina
Standaard worden gebruikers na het inloggen doorgestuurd naar de startpagina van uw kennisbank.
Als de publicatie van uw homepage ongewijzigd is, worden gebruikers omgeleid naar de pagina /docs .
Als u gebruikers wilt omleiden naar een andere pagina in uw Knowledge Base (anders dan de pagina's Start of /docs ), configureert u de omleiding tijdens de JWT-installatie met behulp van de volgende code.
URL-patroon
https://<Knowledge base URL>/jwt/authorize?code=<code>&redirectUrl=<redirect path>
Parameters
Kennisbank-URL: de hoofd-URL van uw kennisbanksite.
Code: De client-ID.
Omleidings-URL: de nieuwe URL waar u wilt dat gebruikers terechtkomen nadat ze zijn ingelogd.
Voorbeeld
https://example.document360.io/jwt/authorize?code=FOTaS_SW6dLGytQXvrG_rRFGhyPvrDDrgxJAZzYvJcY&redirectUrl=/docs/5-basic-things-to-get-started
NOTITIE
Document360 stuurt de omleidings-URL naar
RedirectPath
het inlogeindpunt. Wanneer het aanmeldingseindpunt met de verificatiecode terugverwijst naar de knowledge base, moet het de omleidings-URL alsRedirectUrl
parameter retourneren.
Probleemoplossing
Als u problemen ondervindt tijdens de installatie van JWT SSO, raadpleegt u de volgende veelvoorkomende fout en de oplossing:
401-niet-geautoriseerde fout bij het testen van JWT in Postman
Fout: 401 Ongeautoriseerde fout
Als u een 401-ongeautoriseerde fout tegenkomt tijdens het testen van JWT (JSON Web Token) met Postman, gebeurt dit meestal omdat de autorisatie-instellingen niet correct zijn geconfigureerd.
Stappen om op te lossen:
Om deze fout op te lossen,
Open in Postman de aanvraag die u aan het testen bent.
Navigeer naar het tabblad Autorisatie .
Stel het autorisatietype in op Basic Auth.
Voer in het veld Gebruikersnaam de client-ID in.
Voer in het veld Wachtwoord het Client Secret in.
Ga naar het tabblad Body .
Selecteer de onbewerkte optie in de vervolgkeuzelijst en zorg ervoor dat de indeling is ingesteld op JSON.
Voeg de vereiste JSON-payload toe voor de API-aanvraag.
Klik op Verzenden om de aanvraag uit te voeren.
Controleer de reactie op de verwachte resultaten. Als de aanvraag is geslaagd, ontvangt u een verificatiecode of token in het antwoord.
Veelgestelde vragen
Kan ik een enkele JWT-login gebruiken om meerdere exemplaren van mijn applicatie op dezelfde Document360 Knowledge Base-site te ondersteunen?
Nee, momenteel ondersteunt Document360 een enkele JWT-inlogconfiguratie per project.
Een gemeenschappelijke JWT-login kan niet worden gedeeld tussen meerdere exemplaren van uw toepassing voor dezelfde Document360-kennisbank.
Elk project kan slechts één JWT-toepassingsinstantie tegelijk verifiëren.
Als een geconfigureerde JWT-gebruiker zich afmeldt bij de clienttoepassing, betekent dit dan dat hij ook wordt uitgelogd bij Document360?
Nee, de sessie op Document360 staat los van de eerste Single Sign-On. Gebruikers kunnen Document360 blijven gebruiken totdat de geldigheid van het token is verlopen, zelfs nadat ze zich hebben afgemeld bij de clienttoepassing.
Voorbeeld: Als de geldigheid van het token is ingesteld op 1 dag, blijft de Document360-sessie actief totdat het token verloopt. Zodra dit het geval is, wordt de gebruiker uitgelogd.
Wat zijn de minimale en maximale geldigheidsbanden voor tokens?
De minimale waarde die kan worden ingesteld is 5 minuten en de maximale waarde die kan worden ingesteld is 1440 minuten (1 dag).
Kan ik een waarde opgeven die de toegestane geldigheidsband van het token overschrijdt?
Nee, als er een waarde buiten het bereik wordt opgegeven, wijst het systeem automatisch de dichtstbijzijnde toegestane waarde toe:
5 minuten voor waarden onder het minimum.
1440 minuten voor waarden boven het maximum.
Wat is het verschil tussen JWT en SSO?
In de onderstaande tabel kunt u een vergelijking bekijken tussen JWT (JSON Web Token) en SSO (Single Sign-On):
Aspect | JWT | SSO |
---|---|---|
Authenticatie | Tokens gegenereerd per sessie/gebruikersverzoek. | Gecentraliseerde verificatie in alle apps. |
Token vervaldatum | Tokens verlopen meestal na een bepaalde periode. | Geen token, sessie afgehandeld door identiteitsprovider. |
Veiligheid | Vereist veilige tokenopslag. | Veiligere, gecentraliseerde opslag van inloggegevens. |
Gebruik | Wordt gebruikt voor staatloze authenticatie voor eenmalig gebruik. | Gebruikt voor meerdere toepassingen met één login. |
Integratie | Eenvoudiger te implementeren in apps op maat. | Vereist integratie met een identiteitsprovider. |
Kunnen lezers inloggen met OpenID of SAML als JWT is geconfigureerd voor het project?
Nee, lezers kunnen niet inloggen met OpenID of SAML als JWT is geconfigureerd voor het project. Document360 staat toe dat er slechts één SSO-standaard (JWT, OpenID of SAML) per project actief is.
Welke functies worden niet ondersteund wanneer JWT is geconfigureerd voor het project?
De volgende functies worden niet ondersteund wanneer JWT is geconfigureerd voor het project:
Geavanceerde instellingen: registreer SSO automatisch en sla de algemene aanmeldingspagina van Document360 over.
Lezers: Zelfregistratie.