匯入的包
from flask_pymongo import pymongo
from itsdangerous import timedjsonwebsignatureserializer as serializer
from flask_sqlalchemy import sqlalchemy
token的生成函式
def generate_token
(api_users)
: expiration =
3600
s =serializer
'secret_key'
], expires_in=expiration) #expiration是過期時間
token = s.
dumps()
.decode
('ascii'
)return token, expiration
輸入使用者名稱和密碼返回資料和token
route
('/find'
, methods=
['get'])
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:
list.
(str
(res)
) token =
generate_token
(user)
str_token =
str(token)
list.
(str_token)
json_data =
jsonify
(list)
return json_data
token的驗證函式
def verify_auth_token
(token)
: s =
serializer
'secret_key'])
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驗證函式進行驗證
route
('/token'
, methods=
['get'
,'post'])
def token()
: token = request.args.
get(
'token'
) _token =
verify_auth_token
(token)
(_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:
list.
(str
(res)
) 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...