欢迎访问宙启技术站
智能推送

如何在Python中使用HTTPTokenAuth()保护WebAPI接口

发布时间:2023-12-24 15:27:45

在Python中,可以使用Flask框架的HTTPTokenAuth插件来保护Web API接口。HTTPTokenAuth插件基于Token进行身份验证和授权。

下面是一个使用HTTPTokenAuth的示例:

1. 首先,确保你已经安装了Flask和flask_httpauth模块:

pip install Flask flask_httpauth

2. 导入相关的模块和类:

from flask import Flask
from flask_httpauth import HTTPTokenAuth

3. 创建Flask应用程序和HTTPTokenAuth对象:

app = Flask(__name__)
auth = HTTPTokenAuth()

4. 创建一个字典来存储用户和对应的Token:

tokens = {
    "user1": "token1",
    "user2": "token2"
}

5. 定义一个验证Token的回调函数:

@auth.verify_token
def verify_token(token):
    if token in tokens.values():
        return True
    return False

6. 使用auth.login_required装饰你想要保护的API路由:

@app.route('/api')
@auth.login_required
def api():
    return "Authenticated API"

7. 运行Flask应用程序:

if __name__ == '__main__':
    app.run()

现在在浏览器或使用curl等工具中访问http://localhost:5000/api,需要在请求的header中添加Authorization字段,值为Token token1,其中token1是用户"user1"的Token,如果提供的Token是有效的,将返回"Authenticated API"。

这个示例演示了如何使用HTTPTokenAuth插件来保护Web API接口。你可以根据自己的需要修改验证Token的逻辑和保护的API路径。