Door Alex Bedley - 1 september 2016
Bijgewerkt op 4 februari 2021
Voor wie zijn OAuth 2.0 refresh tokens bedoeld?
Dit artikel is interessant voor ontwikkelaars die namens hun gebruikers toepassingen maken die communiceren met Brightspace-API's. Deze authenticatiemethode wordt alleen aanbevolen als uw applicatie headless is (niet browsergebaseerd).
Wat is een OAuth 2.0 refresh token?
Als onderdeel van goede beveiligingspraktijken verlopen toegangstokens (tokens waarmee u zich kunt verifiëren met Brightspace-API's) na een korte periode. Dit creëert een probleem, omdat applicaties nu een manier nodig hebben om vaak nieuwe toegangstokens te krijgen. Refresh tokens lossen dit probleem op.
Vernieuwingstokens zijn tokens voor eenmalig gebruik die door de autorisatieservice worden uitgegeven aan toepassingen van derden. De toepassing slaat dit vernieuwingstoken op totdat het bijbehorende toegangstoken verloopt. Refresh tokens kunnen vervolgens worden ingeruild voor een nieuw access token en refresh token. Vernieuwingstokens (en toegangstokens) moeten worden behandeld als wachtwoorden.
Hoe verkrijg ik een OAuth 2.0 refresh token?
In de volgende secties wordt beschreven hoe u:
- Download de voorbeeldtoepassing die gebruikers door de OAuth 2.0-stroom leidt
- Registreer de applicatie bij Brightspace
- Toestemming van de gebruiker verkrijgen om de voorbeeldtoepassing namens de gebruiker toegang te geven tot Brightspace-API's
- Een vernieuwingstoken (en een toegangstoken) voor die gebruiker aanschaffen
Download de voorbeeldtoepassing
De voorbeeldtoepassing, eenmaal geregistreerd, stelt u in staat om op een gebruiksvriendelijke manier door de OAuth 2.0-stroom te werken. Het is handig om te begrijpen hoe u vernieuwingstokens kunt verkrijgen en kan ook worden gebruikt bij het testen van uw toepassingen. Het wordt aanbevolen om de applicatie lokaal uit te voeren.
Lokaal uitvoeren
Om lokaal te kunnen draaien, moet je <a href=" target=" _blank"="">node</a>
en npm
Geïnstalleerd.
- De opslagplaats klonen:
https://github.com/neverendingqs/oauth2-client-shell
- Installeer de afhankelijkheden:
npm installeren
- Start de applicatie:
npm uitvoeren dev
- Navigeer naar https://localhost:3001/
- Uw browser kan op dit moment klagen over SSL-certificaten ("Uw verbinding is niet veilig") omdat de applicatie een zelfondertekend certificaat gebruikt. In dit geval, aangezien u het lokaal host, kunnen we deze waarschuwingen veilig negeren.
De applicatie registreren bij Brightspace
Om de volgende stappen uit te voeren, moet de lezer beheerderstoegang hebben (of iemand kennen met beheerderstoegang) tot zijn of haar Brightspace-instantie.
- Navigeer naar Uitbreidbaarheid beheren in het menu Beheertools.
- Klik op de knop OAuth 2.0 tabblad.
- Klik op de knop Registreer een app knoop.
- Vul de vereiste gegevens in:
- Om de URI omleiden, kijk naar de waarde van de URI omleiden in de gebruikersinterface van de voorbeeldtoepassing. Als u de voorbeeldtoepassing lokaal host, URI omleiden moet worden https://localhost:3001/.
- Voor de Draagwijdte veld, gebruik
kern:*:*
. - Ervoor zorgen Vernieuwingstokens inschakelen wordt gecontroleerd.
- Klik op de knop Registreren knoop.
- Verkrijg de Klant-ID en Geheim van de klant voor de app die je zojuist hebt geregistreerd.
Toestemming van de gebruiker verkrijgen
Voordat u een vernieuwingstoken voor een gebruiker kunt verkrijgen, moet die gebruiker uw toepassing namens hem of haar toegang geven tot de Brightspace-API's.
- Vul in de voorbeeldtoepassing de volgende velden in:
- Klik op de knop Autorisatiecode ophalen knoop.
- De pagina zal u doorverwijzen om u aan te melden bij uw Brightspace-exemplaar (als u nog niet bent ingelogd).
- Nadat u bent ingelogd, klikt u op de knop Accepteren knoop.
- Brightspace zou u moeten terugleiden naar de voorbeeldtoepassing.
In dit gedeelte hebben we toestemming verkregen voor een gebruiker en hebben we een Autorisatie Code. Dit zullen we nodig hebben Autorisatie Code om een vernieuwingstoken voor de gebruiker te krijgen.
Een vernieuwingstoken verkrijgen
Nu we onze Autorisatie Code Dit kunnen we inruilen voor een Access and refresh token. Voortbordurend op het vorige deel:
De voorbeeldtoepassing had automatisch moeten worden geopend.e Toegang tot (en verversen) token via autorisatiecode van de app en vulde de Autorisatie Code veld.
Vul de volgende velden in:
Figuur: De OAuth-client-shell.
Klik op de knop Code voor inruil knoop.
Je hebt nu met succes een refresh token verkregen!
Hoe gaan we nu verder?
In dit artikel wordt uitgelegd hoe u een vernieuwingstoken kunt verkrijgen met behulp van een voorbeeldtoepassing. In uw productietoepassing slaat u dit refresh token en het bijbehorende access token veilig op. Met het toegangstoken kunt u namens een gebruiker met toestemming toegang krijgen tot Brightspace-API's.
Refresh tokens hebben een lange levensduur, maar zijn eenmalig te gebruiken: u kunt een refresh token niet opnieuw gebruiken om een nieuw toegangstoken aan te vragen. In plaats daarvan gebruikt u ze één keer en krijgt u een nieuw toegangstoken en een nieuw vernieuwingstoken terug (die u later zult gebruiken voor een volgende workflow voor vernieuwingstoken).
App-ontwikkelaars moeten letten op de vervaltijden op tokens: toegangstokens hebben een korte vervaltijd; Refresh tokens hebben een lange toegangstijd. Om de werkstroom voor het vernieuwen van tokens keer op keer te kunnen gebruiken om de toegang van de app actueel te houden, moeten ze ervoor zorgen dat ze die vernieuwingswerkstroom uitvoeren voordat het vernieuwingstoken verloopt (elke keer dat ze proberen te vernieuwen).
Leerextensie: toegang tot gratis cursus
Brightspace-klanten hebben toegang tot een gratis cursus over aan de slag gaan met de Brightspace API in het Learning Center.
Toegang tot cursus: Leer Postbode met Paul
*Toegang tot het Learning Center is beschikbaar voor cursusleiders en beheerders die momenteel Brightspace gebruiken. Je moet zijn aangemeld bij de community met het e-mailadres van je school of organisatie om je toegang tot freemium- en premium Learning Center-content te verifiëren.
Afbeelding: OAuth2-voorbeeldafbeelding van een toepassing.
Afbeelding: Een voorbeeld van het registreren van een aanvraag.