Flask Academy · Lektion

Udsted access tokens ved login

Signér en JWT, og returnér den til klienten.

Lektion 2 af 413 trin

Udsted access tokens ved login er en gratis Flask Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Flask Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Flask Academy-kurset indeholder 4 lektioner i alt.

Login-håndtrykket

Login er en udveksling: klienten sender gyldige legitimationsoplysninger, og din server sender et signeret adgangstoken tilbage, som kan bruges ved alle senere kald.

Installér udvidelsen

Biblioteket Flask-JWT-Extended står for signering og kontrol for dig. Med én pip-installation er du klar til at udstede tokens.

pip install flask-jwt-extended

Indstil signeringsnøglen

Tokens signeres med en hemmelighed. Konfigurér JWT_SECRET_KEY, så kun din server kan producere gyldige tokens. Hold den ude af kildekoden.

app.config["JWT_SECRET_KEY"] = "change-me"

Opret JWTManager

Pak din app ind i en JWTManager. Dette ene objekt kobler Flask-JWT-Extended til håndteringen af forespørgsler, så hjælpefunktionerne virker.

from flask_jwt_extended import JWTManager
jwt = JWTManager(app)

En rute til at logge ind

Tilføj en POST-rute på /login. Den læser det indsendte brugernavn og den indsendte adgangskode fra forespørgslens body.

@app.post("/login")
def login():
    ...

Bekræft legitimationsoplysninger først

Spring aldrig kontrollen over: bekræft, at adgangskoden matcher din gemte hash, før du udsteder noget. Intet gyldigt login, intet token.

Udsted tokenet

Kald create_access_token med en identitet, som regel bruger-id'et. Det id bliver tokenets subject-claim.

from flask_jwt_extended import create_access_token
token = create_access_token(identity=user.id)

Returnér det som JSON

Send tokenet tilbage i en JSON-body. Klienten gemmer det og sender det med igen ved beskyttede kald. 🔑

return {"access_token": token}, 200

Identiteten styrer claims

Den identity, du sender med, er det, som senere forespørgsler læser tilbage. Hold den lille og stabil, f.eks. et numerisk bruger-id.

Tilføj ekstra claims

Har du brug for en rolle eller plan i tokenet? Send additional_claims med, så dataene følger med og er tilgængelige uden et opslag i databasen.

create_access_token(identity=uid, additional_claims={"role": "admin"})

Håndtér mislykkede loginforsøg klart

Hvis legitimationsoplysningerne er forkerte, skal du returnere 401 Unauthorized og intet token. Klare og ensartede fejl gør dit API forudsigeligt.

return {"msg": "Bad credentials"}, 401

Hurtigt tjek

Husk, hvilket kald der faktisk opretter tokenet.

Opsummering

Bekræft legitimationsoplysningerne, kald derefter create_access_token med bruger-id'et, og returnér det som JSON. Indstil først JWT_SECRET_KEY og en JWTManager. ✅

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Udsted access tokens ved login” gratis?

Ja — hele teksten til “Udsted access tokens ved login” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Flask Academy-kurset, skal du opgradere til CoddyKit PRO. Flask Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Udsted access tokens ved login”?

Signér en JWT, og returnér den til klienten. Du øver dig i Flask Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Flask Academy?

Der kræves ingen tidligere erfaring. Flask Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Udsted access tokens ved login”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Flask Academy-lektion?

Ja. Alle Flask Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Sessions kontra stateless tokens
  2. Udsted access tokens ved login
  3. Beskyt endpoints med jwt_required
  4. Refresh tokens og udløb
← Tilbage til Flask Academy