Python和Vue是當今互聯網開發中非常常用的兩種開發語言和框架。在這兩種技術中,Token也是非常重要的一種概念。本文將介紹使用Python和Vue中的Token。
在Python中,使用Token進行身份驗證非常常見。Token是一種特殊的字符串,用于驗證用戶身份和授權訪問。可以使用Python的Flask框架來實現Token的生成和校驗。下面是一個使用Flask生成Token的示例代碼:
from flask import Flask
from flask_jwt_extended import JWTManager
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret-key'
app.config['JWT_ACCESS_TOKEN_EXPIRES'] = timedelta(minutes=60)
jwt = JWTManager(app)
@app.route('/login', methods=['POST'])
def login():
username = request.json.get('username', None)
password = request.json.get('password', None)
# Check if username and password are valid
if check_credentials(username, password):
access_token = jwt.encode_token(identity=username)
return {'access_token': access_token}
else:
return {'message': 'Invalid credentials'}, 401
在上面的代碼中,Flask的JWTManager被用來生成Token。生成Token需要使用身份標識,這里使用了用戶名作為標識。Token的過期時間被設置為60分鐘。
在Vue中,Token同樣被廣泛應用,主要用于客戶端與服務器之間的通信認證。Vue中可以使用axios攔截器來在每個請求中添加Token,確保請求的合法性。下面是一個使用axios攔截器添加Token的示例代碼:
import axios from 'axios'
import store from './store'
axios.interceptors.request.use(
config =>{
// get token from store
const token = store.getters.getToken
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
},
error =>{
return Promise.reject(error)
}
)
在上面的代碼中,通過Vue的store來獲取Token,然后在每個請求的Header中添加Token。這樣,當請求發送到服務器時,就會攜帶Token,確保請求的合法性。