自 v11.0.3 版本起可用
HTTP Authorization 请求头包含用于向服务器验证用户身份的凭据。它由授权类型(token 或 Basic)和相应的令牌组成。
Authorization: <type> <token>
</token></type>
该令牌由 api-key 和 api-secret 通过冒号连接而成。
生成 API 密钥和 API 机密
- 前往用户列表并打开一个用户。
- 点击“设置”选项卡。(如果看不到选项卡,请跳过此步骤)
- 展开 API 访问部分,然后点击“生成密钥”。
- 您将看到一个包含 API 机密的弹窗。请复制此值并妥善保管(例如密码管理器)。
- 您还会在此部分看到另一个字段“API 密钥”。
现在,使用这两个密钥即可对 API 请求进行身份验证。使用这些密钥发出的每个请求都将记录到您在步骤 1 中选择的用户名下。这也意味着系统将针对该用户进行角色权限检查。您也可以专门为 API 调用创建一个新用户。
令牌
HTTP 请求头:
Authorization: token <api_key>:<api_secret>
</api_secret></api_key>
Python 示例:
import requests
url = "http://frappe.local:8000/api/method/frappe.auth.get_logged_user"
headers = {
'Authorization': "token
<api_key>:<api_secret>"
}
response = requests.request("GET", url, headers=headers)
</api_secret></api_key>
基本认证
如果使用“基本”认证方案,凭据由 api_key 和 api_secret 组合而成,构造方式如下:
- 将两个值用冒号连接:
<api_key>:<api_secret></api_secret></api_key> - 将生成的字符串进行 base64 编码:
base64encode(<api_key>:<api_secret>)</api_secret></api_key>
HTTP 请求头:
Authorization: Basic base64encode("<api_key>:<api_secret>")
</api_secret></api_key>
Python 示例:
import requests
import base64
url = "http://frappe.local:8000**/api/method/frappe.auth.get_logged_user**"
headers = {
'Authorization': "Basic %s" % base64.b64encode(
<api_key>:<api_secret>)
}
response = requests.request("GET", url, headers=headers)
</api_secret></api_key>
访问令牌
如果使用 OAuth 2 访问令牌来验证请求,该令牌是 Frappe Server 在设置 OAuth 2 并生成令牌后提供的不透明 access_token 字符串。请参阅 Guides / Integration / How To Use OAuth 2
HTTP 请求头:
Authorization: Bearer access_token
Python 示例:
import requests
import base64
url = "http://frappe.local:8000**/api/method/frappe.auth.get_logged_user**"
headers = {
"Authorization": "Bearer %s" % access_token
}
response = requests.request("GET", url, headers=headers)
更多资源
- 授权请求头