Flask定義token以及利用token驗證登入

2021-09-29 07:47:58 字數 1695 閱讀 2548

匯入的包

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...