匯入的包
from flask_pymongo import pymongo
from itsdangerous import timedjsonwebsignatureserializer as serializer
from flask_sqlalchemy import sqlalchemy
token的生成函式
def generate_token(api_users):
expiration = 3600
token = s.dumps().decode('ascii')
return token, expiration
輸入使用者名稱和密碼返回資料和token
def find():
user = request.args.get('user') #利用這個request.args.get方法可以模擬postman輸入引數
password = request.args.get('password')
box_id = request.args.get('box_id')
user = user.query.filter_by(user=user, password=password).first()
result = mongo.db[box_id].find().sort([("t", -1)]).limit(1)
list =
for res in result:
token = generate_token(user)
str_token = str(token)
json_data = jsonify(list)
return json_data
token的驗證函式
def verify_auth_token(token):
try:
data = s.loads(token)
except signatureexpired:
return none # valid token,but expired
except badsignature:
return none # invalid token
user = user.query.get(data['id'])
return user
使用token驗證函式進行驗證
def token():
token = request.args.get('token')
_token = verify_auth_token(token)
# print(_token)
user = user.query.filter_by(id=_token.id).first()
result = mongo.db[user.box_id].find().sort([("t", -1)]).limit(1)
list =
for res in result:
json_data = jsonify(list)
return json_data
其中_token驗證完成後是乙個物件,裡面是你資料庫所對應的物件
第一遍你要輸入使用者名稱密碼 然後呼叫token生成函式 得到返回的token值,
這樣你第二步可以直接輸入token,不需要輸入使用者名稱密碼也可以得到
相應的值了!
Flask定義token以及利用token驗證登入
匯入的包 from flask pymongo import pymongo from itsdangerous import timedjsonwebsignatureserializer as serializer from flask sqlalchemy import sqlalchemy ...
cookie,session以及token的介紹
是由瀏覽器維持,儲存在客戶端的一小段文字資訊。使用者每次訪問站點時,web服務都可以讀取cookie中的資訊 cookie根據生命週期分為會話cookie和持久cookie。todo 中文翻譯為會話。在伺服器上儲存使用者操作的歷史資訊。伺服器會使用類似雜湊表的結構儲存資訊,每乙個 客戶都會被分配乙個...
什麼是 token 以及 token 怎麼用
token的引入 token是在客戶端頻繁向服務端請求資料,服務端頻繁的去資料庫查詢使用者名稱和密碼並進行對比,判斷使用者名稱和密碼正確與否,並作出相應提示,在這樣的背景下,token便應運而生。token 的作用 在進行敏感操作之前,每個請求需要攜帶token,但是token 有有效期,token...