Förstå Redirect URI och Authorizationskodflöde i OpenID Connect (OIDC)
Låt oss ta en närmare titt på redirect-URI eftersom den är en kritisk säkerhetskomponent i OIDC-autentiseringsprocessen.
Låt oss ta en närmare titt på redirect-URI eftersom den är en kritisk säkerhetskomponent i OIDC-autentiseringsprocessen.
En Redirect URI, även känd som en svar-URL, är en kritisk säkerhetskomponent i OIDC-autentiseringsprocessen. Den specificerar URL:en dit användare skickas efter att ha loggat in framgångsrikt via en OIDC-leverantör. Viktigare ännu, det är där din applikation tar emot authorizationskoden som behövs för att erhålla tokens.
Kolla in Redirect URI wiki för mer information.
Authorizationskodflödet (definierat i OAuth 2.0 RFC 6749, sektion 4.1) är en grundläggande autentiseringsmetod i OIDC. Det innebär ett utbyte av en authorizationskod för en åtkomsttoken och, valfritt, en uppfriskningstoken. Detta flöde är lämpligt för applikationer som kan hålla en klienthemlighet säker, såsom webbapplikationer på serversidan.
Kolla in Authorization Code Flow wiki för mer information.
I Authorizationskodflödet är Redirect URI det mål dit OIDC-leverantören skickar authorizationskoden efter att användaren har autentiserats framgångsrikt. Den måste vara förregistrerad hos OIDC-leverantören för att säkerställa säkerhet och förhindra obehöriga omdirigeringar.
Så här kan du registrera en Redirect URI i Logto Console:

När inloggningen påbörjas:
client_id, response_type, scope och redirect_uri.redirect_uri, inklusive en authorizationskod som en förfrågningsparameter.OIDC-leverantören validerar redirect_uri mot listan över förregistrerade URId. Om det finns ett felmatch, kommer ett invalid_redirect_uri-fel att returneras, vilket förbättrar säkerheten genom att förhindra obehöriga slutanvändningspunkter från att ta emot tokens.
I verkliga fall är en vanlig bästa praxis att deklarera en dedikerad "Återkopplings"-sida och associera en router / djup länk som tillåter direkt åtkomst från extern. Denna länk bör användas som redirect-URI.
Om vi antar att du har en en-sides webbapp som körs på https://my-app.com, då skulle vanligtvis redirect-URI deklareras som https://my-app.com/callback
Eller om det är en inbyggd mobilapp, börjar redirect-URI vanligen med ett anpassat schema, t.ex. com.company://myapp/callback
Andra bästa metoder inkluderar:
För att hantera authorizationskoden som returneras till din redirect_uri, följ dessa steg:
Extrahera authorizationskoden: Hämta kodparametern från frågesträngen för redirect-URI.
Byt ut authorizationskoden mot tokens: Sammansätt en POST-förfrågan till OIDC-leverantörens token slutpunkt, inklusive:
client_id: ID:t för din applikation hos OIDC-leverantörencode: Authorizationskoden som mottagits från redirect-URIcode_verifier: En slumpmässig sträng genererad hos klientenredirect_uri: Samma URI använd i autorizationsbegärangrant_type: Typen av beviljande, vanligtvis authorization_codeLogto SDKs är utvecklingspaket skrivna i ett specifikt programmeringsspråk eller ramverk, t.ex. Logto React SDK, Next.js SDK och Swift SDK. Att använda ett SDK kan kraftigt förenkla saker genom att bara anropa en eller två funktioner.
Här är ett React "Återkoppling"-komponentexempel med Logto officiella React SDK:
Integrationsguider för SDK kan hittas i Logto quick-starts docs.
Att förstå Redirect URIs i OIDC med authorizationskodflödet är avgörande för att säkra och optimera dina autentiseringsprocesser. Genom att registrera betrodda redirect URIs och hantera inloggningsåterkopplingar effektivt kan du säkerställa en sömlös och säker upplevelse för dina användare och samtidigt förenkla dina utvecklingsinsatser med Logto SDKs.