0Pricing
Flask Academy · Урок

Выдача токенов доступа при входе

Подписывайте JWT и возвращайте его клиенту.

«Выдача токенов доступа при входе» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

The Login Handshake

Login is a trade: the client sends valid credentials, and your server hands back a signed access token it can use on every later call.

Install the Extension

The Flask-JWT-Extended library does the signing and checking for you. One pip install and you are ready to mint tokens.

pip install flask-jwt-extended

Set the Signing Key

Tokens are signed with a secret. Configure JWT_SECRET_KEY so only your server can produce valid tokens. Keep it out of source code.

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

Create the JWTManager

Wrap your app in a JWTManager. This one object hooks Flask-JWT-Extended into request handling so the helpers work.

from flask_jwt_extended import JWTManager
jwt = JWTManager(app)

A Route to Log In

Add a POST route at /login. It will read the submitted username and password from the request body.

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

Verify Credentials First

Never skip the check: confirm the password matches your stored hash before issuing anything. No valid login, no token.

Mint the Token

Call create_access_token with an identity, usually the user id. That id becomes the token's subject claim.

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

Return It as JSON

Send the token back in a JSON body. The client stores it and replays it on protected calls. 🔑

return {"access_token": token}, 200

Identity Drives Claims

The identity you pass is what later requests will read back. Keep it small and stable, like a numeric user id.

Add Extra Claims

Need a role or plan in the token? Pass additional_claims so the data rides along and is available without a database hit.

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

Fail Logins Cleanly

If credentials are wrong, return 401 Unauthorized and no token. Clear, consistent failures keep your API predictable.

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

Quick Check

Recall which call actually produces the token.

Recap

Verify credentials, then create_access_token with the user id and return it as JSON. Set JWT_SECRET_KEY and a JWTManager first. ✅

Часто задаваемые вопросы

Урок «Выдача токенов доступа при входе» бесплатный?

Да — полный текст урока «Выдача токенов доступа при входе» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Выдача токенов доступа при входе»?

Подписывайте JWT и возвращайте его клиенту. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Выдача токенов доступа при входе»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Сеансы и токены без состояния
  2. Выдача токенов доступа при входе
  3. Защита конечных точек с помощью jwt_required
  4. Токены обновления и срок действия
← Назад к Flask Academy