OAuth2

Art. no. 216100577

No alt text available

Prenly understøtter OAuth2 med eller uden OpenID Connect-udvidelse (OIDC), så længe autorisationsserveren følger OAuth2-specifikationen RFC 6749. Du får sandsynligvis brug for en autorisationsserver, der understøtter OIDC.

Prenly understøtter kun autorisationstilskuddet Authorization Code.

Den klient, Prenly vil bruge i OAuth2-flowet, er e-paperens applikationsmyndighed (en teknisk implementering, der bestemmer, hvordan godkendelse og autorisation håndteres af e-paper-applikationen i Prenlys backend).

Prenly skal vide et par ting for at kunne fungere som klient for autorisationsflowet:

- Valgfrit*. Den valgte udsteder.
Dette er kun obligatorisk, hvis du vil bruge OpenID Connect extension ID token claim.

- Obligatorisk. Det klient-id, du ønsker, at Prenly-myndigheden skal bruge.

- Obligatorisk. Den klienthemmelighed, du ønsker, at Prenly-myndigheden skal bruge, når den udveksler den angivne autorisationsbevilling med et adgangstoken ved autentificering af Prenly-myndigheden (klienten).

- Valgfri. Anvendelsesområde. Du kan vælge at få Prenly til at bruge en liste med mellemrum, der definerer det udstedte token's tilladelse. Scope(s) vil blive brugt med autorisationsslutpunktet.

- Valgfrit. Tilstand. Prenly understøtter generering af tilstand i autorisationsanmodningen. Du kan vælge enten at lade Prenly generere en tilstand eller få autoriteten til at springe den over.

- Obligatorisk. Slutpunkt for godkendelse. Prenly-myndigheden vil navigere brugeragenten til dette slutpunkt for at starte autorisationsflowet med autorisationsserveren ved at logge brugeren ind for at få tildelt autorisationskoden.

- Obligatorisk. Token-slutpunkt. Prenly-myndigheden vil forsøge at udveksle brugerens autorisationskode med et adgangstoken eller, hvis din autorisationsserver understøtter det (hvilket anbefales på det kraftigste), udveksle brugerens refresh-token med et nyt adgangstoken.

Godkendelsesmetode. Som standard bruger Prenly OIDC's klientgodkendelsesmetode client_secret_basic, når der godkendes med autorisationsserverens token-slutpunkt. Prenly understøtter også klientgodkendelsesmetoden client_secret_post. Giv Prenly besked, hvis du har brug for sidstnævnte, ellers vil standardgodkendelsesmetoden blive brugt.

- Anbefales. En ekstern URL til at logge brugeren ud. Prenly-autoriteten vil bruge den aktuelle brugers valgte brugeragent til at logge brugeren ud eksternt på autorisationsserveren.
Prenly er i stand til at bruge pladsholdere i URL'en, når autorisationsanmodningen oprettes for at logge ud af brugeren ved at angive følgende:

Klient-id'et;
Logout-retur-URI'en;
URI'en for logout-fejl;

Bemærk, at state ikke kan bruges.
Et eksempel på en retur-URI-forespørgselsparameter er "post_logout_redirect_uri".

I øjeblikket understøttes kun HTTP-metoden GET for logout-URL'en.

Bruger-ID

Prenly-myndigheden skal vide, hvordan den udtrækker det unikke bruger-id, når brugeren er blevet autoriseret af autorisationsserveren.

Dette unikke bruger-id er, hvis du bruger Prenly Remote Authority API, anmodningsparameteren `uid`, når du anmoder om brugeroversigtsoplysninger.

Du kan vælge en af følgende metoder:

- Fra en egenskab i JSON-token-slutpunktssvaret. Hvis du vælger dette, skal du informere os om det valgte ejendomsnavn, der indeholder bruger-id'et.

- Fra OpenID Connect-"sub"-kravet i det underskrevne ID-token (som returneret af token-svaregenskaben "id_token").
For at kunne udtrække bruger-id'et skal du også angive:

◦ Påkrævet. Den eksterne URL til offentlige nøgler til validering af ID-tokens. Denne URL skal indeholde et JSON-webnøglesæt i henhold til JWT-standarder, som kan betegnes som enten JKU eller JWKS.
◦ Valgfrit. Egenskabsnavnet i brugerdatasvaret, som indeholder et kundenummer.

- Fra "sub" -egenskabssvaret fra et UserInfo-slutpunkt.
For at bruge denne metode skal du også angive:

◦ Påkrævet. URL'en til UserInfo-slutpunktet. Endepunktet bruges til at hente grundlæggende oplysninger om brugeren ved at bruge brugerens adgangstoken til at godkende anmodningen.
◦ Valgfrit. Egenskabsnavnet i brugerdatasvaret, som indeholder et kundenummer.

Ressource-server

Du kan vælge en ressourceserver, som Prenly understøtter, eller du er velkommen til at kontakte os på hello@prenly.com for at anmode Prenly om at understøtte din specifikke ressourceserver som en integrationsopgave, som Prenly kan understøtte baseret på en betalt udviklingsopgave.

Som udgangspunkt understøtter Prenly Prenly Remote Authority API fra version 1.4 eller højere som ressourceserver. Se vores generelle oplysninger om Prenly Remote authority API for at få mere at vide om konceptet for denne API. Se API-specifikationen for endepunktet /oauth2/getUser for at implementere Prenly Remote authority API som en ressourceserver.

Den "ressource", Prenly anmoder om fra ressourceserveren, er en liste over abonnementsprodukter, der er knyttet til brugeren. Produkterne, i form af en produktkode, angiver brugerens abonnementsstatus, hvor hver kode er konfigureret til at give læseadgang til publikationer i din e-papir-applikation.

For at give den korrekte læseadgang afhængigt af abonnementsproduktet skal du også informere Prenly om, hvilke publikationer produktkoden giver læseadgang til. Ethvert ukendt produkt vil blive ignoreret.

Du har måske ikke brug for en dedikeret ressourceserver...

Prenly kan helt omgå en traditionel ressourceserver, hvis dit UserInfo-slutpunkt er i stand til at afsløre abonnementsstatus for ressourceejeren - brugeren.

Hvis dit UserInfo-slutpunkt er i stand til det, skal du blot angive kravet (egenskabsnavnet) i UserInfo-slutpunktets JSON-data.

Claim-værdien skal være en JSON-liste (array) af strenge. Hvert element på listen repræsenterer en produktkode for et abonnement.

Giv oplysninger

Når du har alle de nødvendige oplysninger, bedes du kontakte Prenlys kundeservice på hello@prenly.com med oplysningerne. Teamet vil derefter konfigurere den valgte e-papir-applikations Prenly-autoritet til at bruge OAuth2 for dig.

Prenly - Book en demo
Vil du se, hvordan dit magasin eller din publikation kunne se ud i Prenly? Book en demo

© Textalk

We use DeepL and ChatGPT for translations. Occasional imprecisions may occur.