Выдача токенов доступа при входе
Подписывайте 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-extendedSet 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}, 200Identity 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"}, 401Quick 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 — локальная установка не требуется.
Все уроки этого курса
- Сеансы и токены без состояния
- Выдача токенов доступа при входе
- Защита конечных точек с помощью jwt_required
- Токены обновления и срок действия