如何将授权 header 从 html 发送到 flask
How to send authorization header from html to flask
我有一个项目在后端使用 flask,在前端使用 jinja html。
我需要发送一个具有授权的请求 header 并且我的所有路由都读取 header 以查看它是否来自有效用户?
def show_admin():
data = request.headers.get('Authorization')
# data = "TOKEN123"
# واکشی اطلاعات مورد نیاز صفحه داشبورد
content = {
'user': mydb.selectalluser(),
'doreh': mydb.selectalldoreh()
}
# چک میشود اگر توکن ارسالی توسط کاربری معتبر است یا خیر
if str(data) == "TOKEN123":
return render_template('admin/dashboard.html', content=content)
# return hello
else:
# اگر توکن معتبر باشد صفحه لود خواهد شد
return render_template('login/index.html')
在 if 语句中,它检查令牌是否有效。但...
1. 如何生成包含授权的请求 header
2. 如何为登录页面生成令牌
您无法控制 server-side 上的 client-side 请求 header(即 Authorization
)。 IMO,你想要的是管理用户 login/session 状态,你可以用 Flask session
实现,存储在 session
上的信息可以在请求之间获取(使用 Cookie):
from flask import session
@app.route('/login')
def login():
session['token'] = 'TOKEN123' # store token, use it as a dict
return 'login success'
@app.route('/admin')
def show_admin():
if session.get('token') == "TOKEN123": # get token
return 'admin page'
else:
return 'login page'
不过,我建议使用 Flask-Login 来处理用户 session 管理。
我有一个项目在后端使用 flask,在前端使用 jinja html。
我需要发送一个具有授权的请求 header 并且我的所有路由都读取 header 以查看它是否来自有效用户?
def show_admin():
data = request.headers.get('Authorization')
# data = "TOKEN123"
# واکشی اطلاعات مورد نیاز صفحه داشبورد
content = {
'user': mydb.selectalluser(),
'doreh': mydb.selectalldoreh()
}
# چک میشود اگر توکن ارسالی توسط کاربری معتبر است یا خیر
if str(data) == "TOKEN123":
return render_template('admin/dashboard.html', content=content)
# return hello
else:
# اگر توکن معتبر باشد صفحه لود خواهد شد
return render_template('login/index.html')
在 if 语句中,它检查令牌是否有效。但... 1. 如何生成包含授权的请求 header 2. 如何为登录页面生成令牌
您无法控制 server-side 上的 client-side 请求 header(即 Authorization
)。 IMO,你想要的是管理用户 login/session 状态,你可以用 Flask session
实现,存储在 session
上的信息可以在请求之间获取(使用 Cookie):
from flask import session
@app.route('/login')
def login():
session['token'] = 'TOKEN123' # store token, use it as a dict
return 'login success'
@app.route('/admin')
def show_admin():
if session.get('token') == "TOKEN123": # get token
return 'admin page'
else:
return 'login page'
不过,我建议使用 Flask-Login 来处理用户 session 管理。