微信截圖_17425189676128.png)
調(diào)用Leonardo.ai API 實(shí)現(xiàn)文生圖:小白上手指南
小貼士:SECRET_KEY
要保管好哦!它就像是你的保險(xiǎn)箱密碼,千萬(wàn)不能泄露。
有了token,當(dāng)然要驗(yàn)證它是否有效:
def verify_token(token):
try:
# 驗(yàn)證token
payload = jwt.decode(token, SECRET_KEY, algorithms=['HS256'])
return payload
except jwt.ExpiredSignatureError:
return "Token已過(guò)期!"
except jwt.InvalidTokenError:
return "無(wú)效的Token!"
# 測(cè)試驗(yàn)證token
try:
result = verify_token(token)
print("解碼后的數(shù)據(jù):", result)
except Exception as e:
print("驗(yàn)證失敗:", str(e))
下面是一個(gè)使用Flask框架的簡(jiǎn)單示例:
from?flask?import?Flask,?jsonify,?request
from?functools?import?wraps
app?=?Flask(__name__)
#?驗(yàn)證token的裝飾器
def?token_required(f):
????@wraps(f)
????def?decorated(*args,?**kwargs):
????????token?=?request.headers.get('Authorization')
????????if?not?token:
????????????return?jsonify({'message':?'缺少token!'}),?401
????????try:
????????????payload?=?verify_token(token)
????????????request.user?=?payload
????????except:
????????????return?jsonify({'message':?'token無(wú)效!'}),?401
????????return?f(*args,?**kwargs)
????return?decorated
#?登錄接口
@app.route('/login',?methods=['POST'])
def?login():
????#?這里簡(jiǎn)化了登錄邏輯
????user_id?=?123
????token?=?create_token(user_id)
????return?jsonify({'token':?token})
#?需要驗(yàn)證token的接口
@app.route('/protected')
@token_required
def?protected():
????return?jsonify({'message':?'你成功訪問(wèn)了受保護(hù)的接口!'})
注意事項(xiàng):
#?添加更多自定義信息
payload?=?{
????'user_id':?user_id,
????'username':?'python_lover',
????'role':?'admin',
????'exp':?datetime.datetime.utcnow()?+?datetime.timedelta(days=1)
}
PyJWT支持多種加密算法:
#?使用RS256算法(非對(duì)稱(chēng)加密)
token?=?jwt.encode(payload,?private_key,?algorithm='RS256')
小伙伴們,今天的Python學(xué)習(xí)之旅就到這里啦!記得動(dòng)手敲代碼,有問(wèn)題隨時(shí)在評(píng)論區(qū)留言哦。JWT的使用場(chǎng)景非常廣泛,掌握了它,你就離成為后端高手更近一步啦!祝大家學(xué)習(xí)愉快,Python學(xué)習(xí)節(jié)節(jié)高!
文章轉(zhuǎn)自微信公眾號(hào)@黑發(fā)工程
調(diào)用Leonardo.ai API 實(shí)現(xiàn)文生圖:小白上手指南
一文搞懂在 HTTP 如何 one-api 調(diào)用,實(shí)操指南來(lái)襲!
如何在Excel VBA中調(diào)用REST API
Shopify API 授權(quán):全面指南與最佳實(shí)踐
FastOpenAPI:Python框架API文檔自動(dòng)化生成工具,解放你的雙手!
如何在 Spring Boot REST 中實(shí)現(xiàn)多線程 API
云原生 API 網(wǎng)關(guān) APISIX 入門(mén)教程
Azure OpenAI API快速入門(mén)教程
API審核的核心概念是什么
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)