OAuth2

Art. no. 216100577

No alt text available

Prenly stöder OAuth2 med eller utan OpenID Connect-tillägg (OIDC) så länge som auktoriseringsservern följer OAuth2-specifikationen RFC 6749. Du kommer sannolikt att behöva en auktoriseringsserver som stöder OIDC.

Prenly stöder endast auktoriseringsbidraget Auktoriseringskod.

Den klient som Prenly kommer att använda i OAuth2-flödet är e-pappersapplikationens auktoritet (en teknisk implementering som bestämmer hur autentisering och auktorisering ska hanteras av e-pappersapplikationen i Prenlys backend).

Prenly kommer att behöva veta några saker för att kunna agera som klient för auktoriseringsflödet:

- Valfritt*. Den valda utgivaren.
Detta är endast obligatoriskt om du vill använda OpenID Connect Extension ID token claim.

- Obligatoriskt. Det klient-ID som du vill att Prenly-myndigheten ska använda.

- Obligatoriskt. Den klienthemlighet som du vill att Prenly-myndigheten ska använda när den utbyter det tillhandahållna auktoriseringsbidraget mot en åtkomsttoken vid autentisering av Prenly-myndigheten (klienten).

- Valfri. Omfattning. Du kan välja att låta Prenly använda en mellanslagsseparerad lista med scope som definierar den utfärdade tokenens behörighet. Scope(s) kommer att användas med slutpunkten för auktorisering.

- Valfri. Tillstånd. Prenly stöder generering av tillstånd i auktoriseringsbegäran. Du kan välja att antingen låta Prenly generera ett tillstånd eller att låta myndigheten hoppa över det.

- Obligatoriskt. Slutpunkt för auktorisering. Prenly-myndigheten kommer att navigera användaragenten till denna slutpunkt för att initiera auktoriseringsflödet med auktoriseringsservern genom att logga in användaren för att få auktoriseringskoden beviljad.

- Obligatoriskt. Token-slutpunkt. Prenly-myndigheten kommer att försöka byta ut användarens auktoriseringskod mot en åtkomsttoken eller, om auktoriseringsservern stöder det (vilket starkt rekommenderas), byta ut användarens uppdateringstoken mot en ny åtkomsttoken.

Autentiseringsmetod. Som standard använder Prenly OIDC:s klientautentiseringsmetod client_secret_basic vid autentisering med auktoriseringsserverns token-slutpunkt. Prenly har även stöd för klientautentiseringsmetoden client_secret_post. Meddela Prenly om du behöver den senare, annars kommer standardautentiseringsmetoden att användas.

- Rekommenderas. En extern URL för att logga ut användaren. Prenly-myndigheten kommer att använda den aktuella användarens valda användaragent för att logga ut användaren på distans på auktoriseringsservern.
Prenly kan använda platshållare i URL:en när auktoriseringsbegäran skapas för att logga ut användaren genom att tillhandahålla följande:

Klient-ID;
URI för utloggningsretur;
URI för fel vid utloggning;

Observera att tillstånd inte kan användas.
Ett exempel på en retur URI-frågeparameter är "post_logout_redirect_uri".

För närvarande stöds endast HTTP-metoden GET för URL:en för utloggning.

Användar-ID

Prenly-myndigheten måste veta hur man extraherar det unika användar-ID:t efter att användaren har auktoriserats av auktoriseringsservern.

Detta unika användar-ID, om du använder Prenly Remote Authority API, är `uid`-begärandeparametern när du begär information om användarens sammanfattning.

Du kan välja en av följande metoder:

- Från en egenskap i JSON-tokenens slutpunktssvar. Om du väljer detta måste du informera oss om ditt valda egenskapsnamn som innehåller användar-ID.

- Från OpenID Connect "sub"-anspråket i den signerade ID-token (som returneras av token-svarsegenskapen "id_token".
För att kunna extrahera användar-ID:t måste du också tillhandahålla:

◦ Krävs. Den externa URL:en till offentliga nycklar för att validera ID-tokens. Denna URL måste innehålla en JSON Web Key Set enligt JWT-standarder, som kan refereras till som antingen JKU eller JWKS.
◦ Valfritt. Egenskapsnamnet i användardatasvaret som innehåller ett kundnummer.

- Från "sub" -egenskapssvaret från en UserInfo-slutpunkt.
För att använda denna metod måste du också tillhandahålla:

◦ Obligatoriskt. UserInfo-slutpunktens URL. Endpointen används för att hämta grundläggande information om användaren genom att använda användarens access token för att auktorisera begäran.
◦ Valfritt. Egenskapsnamnet i användardatasvaret som innehåller ett kundnummer.

Resursserver

Du kan välja en resursserver som Prenly stöder eller så kan du kontakta oss på hello@prenly.com för att göra en begäran till Prenly om att stödja din specifika resursserver som en integrationsuppgift, som Prenly kan stödja baserat på en betald utvecklingsuppgift.

Prenly stöder Prenly Remote Authority API från version 1.4 eller högre som en resursserver. Se vår allmänna information om Prenly Remote authority API för konceptet med detta API. För att implementera Prenly Remote authority API som en resursserver, se API-specifikationen för ändpunkten /oauth2/getUser.

Den "resurs" som Prenly begär från resursservern är en lista över prenumerationsprodukter som är associerade med användaren. Produkterna, i form av en produktkod, anger användarens prenumerationsstatus där varje kod är konfigurerad för att ge läsåtkomst till publikationer i din e-pappersapplikation.

För att bevilja rätt läsåtkomst beroende på prenumerationsprodukten måste du också informera Prenly om vilka publikationer som produktkoden ger läsåtkomst till. Alla okända produkter ignoreras.

Du kanske inte behöver en dedikerad resursserver...

Prenly kan kringgå en traditionell resursserver helt och hållet om din UserInfo-slutpunkt kan avslöja prenumerationsstatusen för resursägaren - användaren.

Om din UserInfo-slutpunkt är kapabel behöver du bara tillhandahålla anspråket (egenskapsnamnet) i UserInfo-slutpunktens JSON-svarsdata.

Anspråksvärdet måste vara en JSON-lista (array) med strängar. Varje listobjekt representerar en produktkod för prenumerationen.

Tillhandahålla information

När du har all information som krävs kontaktar du Prenlys kundtjänst på hello@prenly.com med informationen. Teamet kommer sedan att konfigurera den valda e-pappersapplikationens Prenly-auktoritet för att använda OAuth2 åt dig.

Prenly - Boka en demo
Vill du se hur din tidning eller publikation kan se ut i Prenly? Boka en demo

© Textalk

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