10 - Dify中的Bearer Token与API-Key鉴权方式

2024年12月10日修改
本文使用Dify v0.10.2版本,在Dify中包括Bearer Token与API-Key鉴权这2种方式。console(URL前缀/console/api)和web(URL前缀/api)蓝图使用的是Bearer Token鉴权方式,而service_api(URL前缀/v1)蓝图使用的是API-Key鉴权方式。console蓝图通过login_required装饰器[1]实现,web蓝图通过继承WebApiResource,即validate_jwt_token装饰器实现,而service_api通过validate_app_token装饰器实现。
一.service_api蓝图与API-Key鉴权
API-Key与Bearer Token鉴权区别,如下所示:
特性
API-Key
Bearer Token
定义
一种用于识别调用者身份的密钥
一种令牌,表示用户已经通过认证
格式
通常为简单的字符串
通常为 "Bearer <token>" 格式
存储位置
可以在请求头、URL 查询参数或请求体中
通常存储在请求头中
认证过程
直接使用 API-Key
需要通过认证流程获取令牌
有效期
通常没有有效期或长期有效
通常有有效期(如几分钟到几小时)
安全性
相对较低,容易被截获
更高,通过过期和刷新机制提高安全性
使用场景
简单的 API 访问
用户身份验证和授权
撤销机制
需要手动更换或删除 API-Key
可以通过令牌失效或刷新实现