日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:Flask如何實現(xiàn)HTTP令牌token認證

token認證

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設計、成都做網(wǎng)站、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務峽江,十多年網(wǎng)站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

在restful設計中,用戶認證模式通常使用json web token,而不會使用傳統(tǒng)的HTTP Basic認證(傳入賬號密碼)

token認證模式如下:在請求header中加入token

相關推薦:《Python視頻教程》

Flask中的實現(xiàn)

flask擴展flask-httpauth提供了該認證方法

$ pip install flask-httpauth

首先實例化

auth = HTTPTokenAuth(scheme='JWT')

上面的scheme就是token前面的字符串,可以自定義,這里我使用JWT

源代碼如下:

它提供了一個裝飾器,里面可以實現(xiàn)自己的token檢驗方法

@auth.verify_token
def verify_token(token):
    pass
#這里需要自定義

Flask中的itsdangerous提供了令牌生成和校驗的方法

from itsdangerous import TimedJSONWebSignatureSerializer, BadSignature,\
    SignatureExpired

組合起來:

@auth.verify_token
def verify_token(token):
    s = TimedJSONWebSignatureSerializer(
        current_app.config['SECRET_KEY']
    )
    try:
        data = s.loads(token)
        print(data)
    except BadSignature:
        raise AuthFailed(msg='token不正確')
    except SignatureExpired:
        raise AuthFailed(msg='token過期')
    uid = data['uid']
    return True

通過驗證后返回True代表token認證成功!

如果有需要登錄的視圖,就可以使用如下裝飾器:

@api.route('/login_require/', methods=['POST'])
@auth.login_required
def func():
    pass

只有Token認證成功才能進入該視圖。


當前文章:創(chuàng)新互聯(lián)Python教程:Flask如何實現(xiàn)HTTP令牌token認證
當前鏈接:http://m.5511xx.com/article/dpghdsi.html