将 API 键添加到 DRF 可浏览 API 页面中的 header
Add API key to a header in a DRF browsable API page
我正在 API 上启用 token/api-key 身份验证。但是一旦启用它,我就无法再使用 DRF 的可浏览 API 页面。我知道我可以在开发时禁用身份验证,但这是一个好奇的问题:我可以向发送到可浏览 API 页面的每个请求的 header 添加一个 api-key 吗?我可以通过调整浏览器设置来做到这一点吗?或者是否可以调整 Browsable API 页面本身并将 api-key 硬编码到其中?
处理这种情况的更好方法是将 SessionAuthentication
添加到设置中的 DEFAULT_AUTHENTICATION_CLASSES
部分
# settings.py
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework.authentication.TokenAuthentication",
<b>"rest_framework.authentication.SessionAuthentication",</b>
],
}
更准确地说,
# settings.py
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework.authentication.TokenAuthentication",
],
}
<b>if DEBUG:
REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"].append(
"rest_framework.authentication.SessionAuthentication"
)</b>
通过这样做,您可以使用您的APIKey
或session key
来验证请求。
我正在 API 上启用 token/api-key 身份验证。但是一旦启用它,我就无法再使用 DRF 的可浏览 API 页面。我知道我可以在开发时禁用身份验证,但这是一个好奇的问题:我可以向发送到可浏览 API 页面的每个请求的 header 添加一个 api-key 吗?我可以通过调整浏览器设置来做到这一点吗?或者是否可以调整 Browsable API 页面本身并将 api-key 硬编码到其中?
处理这种情况的更好方法是将 SessionAuthentication
添加到设置中的 DEFAULT_AUTHENTICATION_CLASSES
部分
# settings.py
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework.authentication.TokenAuthentication",
<b>"rest_framework.authentication.SessionAuthentication",</b>
],
}
更准确地说,
# settings.py
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework.authentication.TokenAuthentication",
],
}
<b>if DEBUG:
REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"].append(
"rest_framework.authentication.SessionAuthentication"
)</b>
通过这样做,您可以使用您的APIKey
或session key
来验证请求。