This is an automated email from the ASF dual-hosted git repository.

kayx23 pushed a commit to branch doc/remove-stale-admin-key-default
in repository https://gitbox.apache.org/repos/asf/apisix.git

commit 6cdaa7655dd9fb6f1e017c75eee599344f6b53df
Author: kayx23 <[email protected]>
AuthorDate: Thu May 28 18:33:50 2026 +0800

    docs: remove stale admin key default examples
---
 docs/en/latest/FAQ.md                              | 16 ++++++++--------
 docs/en/latest/admin-api.md                        | 18 +++++++++---------
 docs/en/latest/certificate.md                      |  2 +-
 docs/en/latest/dashboard.md                        |  4 ++--
 docs/en/latest/plugins/authz-casdoor.md            | 11 ++++++++++-
 docs/en/latest/plugins/csrf.md                     |  2 +-
 docs/en/latest/terminology/plugin-config.md        |  2 +-
 docs/en/latest/tutorials/cache-api-responses.md    |  4 ++--
 docs/en/latest/tutorials/client-to-apisix-mtls.md  | 22 +++++++++++-----------
 docs/en/latest/tutorials/expose-api.md             | 17 +++++++++++++----
 .../latest/tutorials/monitor-api-health-check.md   | 15 ++++++++++++---
 .../latest/tutorials/websocket-authentication.md   | 13 +++++++++++--
 docs/zh/latest/FAQ.md                              |  6 +++---
 docs/zh/latest/admin-api.md                        | 10 +++++-----
 docs/zh/latest/certificate.md                      |  2 +-
 docs/zh/latest/dashboard.md                        |  4 ++--
 docs/zh/latest/plugins/authz-casdoor.md            | 12 +++++++++++-
 docs/zh/latest/plugins/csrf.md                     |  2 +-
 docs/zh/latest/plugins/gm.md                       |  2 +-
 docs/zh/latest/tutorials/cache-api-responses.md    |  4 ++--
 docs/zh/latest/tutorials/client-to-apisix-mtls.md  | 14 ++++++++++++--
 docs/zh/latest/tutorials/expose-api.md             | 17 +++++++++++++----
 22 files changed, 132 insertions(+), 67 deletions(-)

diff --git a/docs/en/latest/FAQ.md b/docs/en/latest/FAQ.md
index faa0e5adb..96c3f3a0c 100644
--- a/docs/en/latest/FAQ.md
+++ b/docs/en/latest/FAQ.md
@@ -447,17 +447,17 @@ HTTP/1.1 200 OK
 
 ## What is the `X-API-KEY` of the Admin API? Can it be modified?
 
-`X-API-KEY` of the Admin API refers to the `apisix.admin_key.key` in your 
`conf/config.yaml` file. It is the access token for the Admin API.
+`X-API-KEY` of the Admin API refers to `deployment.admin.admin_key[0].key` in 
your `conf/config.yaml` file. It is the access token for the Admin API.
 
-By default, it is set to `edd1c9f034335f136f87ad84b625c8f1` and can be 
modified by changing the parameter in your `conf/config.yaml` file:
+In the default configuration, this field is empty. APISIX generates a random 
Admin API key during initialization and writes it back to `conf/config.yaml`. 
You can also set the key explicitly by changing the parameter in your 
`conf/config.yaml` file:
 
 ```yaml
-apisix:
-  admin_key
-    -
-      name: "admin"
-      key: newkey
-      role: admin
+deployment:
+  admin:
+    admin_key:
+      - name: "admin"
+        key: newkey
+        role: admin
 ```
 
 Now, to access the Admin API:
diff --git a/docs/en/latest/admin-api.md b/docs/en/latest/admin-api.md
index 21f416b71..31496f1aa 100644
--- a/docs/en/latest/admin-api.md
+++ b/docs/en/latest/admin-api.md
@@ -54,7 +54,7 @@ deployment:
     admin:
         admin_key:
         - name: admin
-            key: edd1c9f034335f136f87ad84b625c8f1  # using fixed API token has 
security risk, please update it when you deploy to production environment
+            key: your-admin-key  # set a secure Admin API key; if left empty, 
APISIX will generate one during initialization and write it back to this file
             role: admin
         allow_admin:                    # 
http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
             - 127.0.0.0/24
@@ -92,7 +92,7 @@ deployment:
   admin:
     admin_key:
     - name: admin
-      key: ${{ADMIN_KEY:=edd1c9f034335f136f87ad84b625c8f1}}
+      key: ${{ADMIN_KEY:=your-admin-key}}
       role: admin
     allow_admin:
     - 127.0.0.0/24
@@ -101,7 +101,7 @@ deployment:
       port: 9180
 ```
 
-This will find the environment variable `ADMIN_KEY` first, and if it does not 
exist, it will use `edd1c9f034335f136f87ad84b625c8f1` as the default value.
+This will find the environment variable `ADMIN_KEY` first, and if it does not 
exist, it will use the fallback value you provided in the configuration.
 
 You can also specify environment variables in yaml keys. This is specifically 
useful in the `standalone` [mode](./deployment-modes.md#standalone) where you 
can specify the upstream nodes as follows:
 
@@ -752,7 +752,7 @@ Example configuration:
 
     ```shell
     curl http://127.0.0.1:9180/apisix/admin/services/201 \
-    -H'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PATCH -i -d '
+    -H'X-API-KEY: your-admin-key' -X PATCH -i -d '
     {
         "upstream": {
             "nodes": {
@@ -780,7 +780,7 @@ Example configuration:
 
     ```shell
     curl http://127.0.0.1:9180/apisix/admin/services/201 \
-    -H'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PATCH -i -d '
+    -H'X-API-KEY: your-admin-key' -X PATCH -i -d '
     {
         "upstream": {
             "nodes": {
@@ -807,7 +807,7 @@ Example configuration:
 
     ```shell
     curl http://127.0.0.1:9180/apisix/admin/services/201/upstream/nodes \
-    -H'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PATCH -i -d '
+    -H'X-API-KEY: your-admin-key' -X PATCH -i -d '
     {
         "127.0.0.1:1982": 1
     }'
@@ -1125,7 +1125,7 @@ Example Configuration:
 
     ```shell
     curl http://127.0.0.1:9180/apisix/admin/upstreams/100 \
-    -H'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PATCH -i -d '
+    -H'X-API-KEY: your-admin-key' -X PATCH -i -d '
     {
         "nodes": {
             "127.0.0.1:1981": 10
@@ -1489,7 +1489,7 @@ The plugin can be filtered on subsystem so that the 
({plugin_name}) is searched
 
 ```shell
 curl "http://127.0.0.1:9180/apisix/admin/plugins/list"; \
--H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'
+-H 'X-API-KEY: your-admin-key'
 ```
 
 ```shell
@@ -1497,7 +1497,7 @@ curl "http://127.0.0.1:9180/apisix/admin/plugins/list"; \
 ```
 
 ```shell
-curl "http://127.0.0.1:9180/apisix/admin/plugins/key-auth?subsystem=http" -H 
'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'
+curl "http://127.0.0.1:9180/apisix/admin/plugins/key-auth?subsystem=http" -H 
'X-API-KEY: your-admin-key'
 ```
 
 ```json
diff --git a/docs/en/latest/certificate.md b/docs/en/latest/certificate.md
index 8916b667b..8d18bc5a4 100644
--- a/docs/en/latest/certificate.md
+++ b/docs/en/latest/certificate.md
@@ -237,7 +237,7 @@ deployment:
   admin:
     admin_key
       - name: admin
-        key: edd1c9f034335f136f87ad84b625c8f1
+        key: your-admin-key
         role: admin
     admin_listen:
       ip: 127.0.0.1
diff --git a/docs/en/latest/dashboard.md b/docs/en/latest/dashboard.md
index 27239c701..f12a4bf79 100644
--- a/docs/en/latest/dashboard.md
+++ b/docs/en/latest/dashboard.md
@@ -73,8 +73,8 @@ deployment:
       -
         name: admin
         role: admin
-        # Using a simple Admin API Key poses security risks. Please update it 
when deploying to production
-        key: edd1c9f034335f136f87ad84b625c8f1
+        # Set a secure Admin API Key. If left empty, APISIX will generate one 
during initialization and write it back to this file.
+        key: your-admin-key
 ```
 
 Configuration via environment variables is also supported:
diff --git a/docs/en/latest/plugins/authz-casdoor.md 
b/docs/en/latest/plugins/authz-casdoor.md
index e85ef186e..a61e7a8de 100644
--- a/docs/en/latest/plugins/authz-casdoor.md
+++ b/docs/en/latest/plugins/authz-casdoor.md
@@ -59,8 +59,17 @@ The `callback_url` must belong to the URI of your Route. See 
the code snippet be
 
 You can enable the Plugin on a specific Route as shown below:
 
+:::note
+You can fetch the `admin_key` from `config.yaml` and save to an environment 
variable with the following command:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```shell
-curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: $admin_key" 
-X PUT -d '
 {
   "methods": ["GET"],
   "uri": "/anything/*",
diff --git a/docs/en/latest/plugins/csrf.md b/docs/en/latest/plugins/csrf.md
index 2f45e23b6..411b1b41d 100644
--- a/docs/en/latest/plugins/csrf.md
+++ b/docs/en/latest/plugins/csrf.md
@@ -63,7 +63,7 @@ curl -i http://127.0.0.1:9180/apisix/admin/routes/1 -H 
"X-API-KEY: $admin_key" -
   "uri": "/hello",
   "plugins": {
     "csrf": {
-      "key": "edd1c9f034335f136f87ad84b625c8f1"
+      "key": "csrf-secret-key"
     }
   },
   "upstream": {
diff --git a/docs/en/latest/terminology/plugin-config.md 
b/docs/en/latest/terminology/plugin-config.md
index 88476d44a..da2a1379a 100644
--- a/docs/en/latest/terminology/plugin-config.md
+++ b/docs/en/latest/terminology/plugin-config.md
@@ -62,7 +62,7 @@ curl http://127.0.0.1:9180/apisix/admin/plugin_configs/1 \
 
 ```shell
 curl http://127.0.0.1:9180/apisix/admin/routes/1 \
--H 'X-API-KEY:edd1c9f034335f136f87ad84b625c8f1' -X PUT -i -d '
+-H "X-API-KEY: $admin_key" -X PUT -i -d '
 {
     "uris": ["/index.html"],
     "plugin_config_id": 1,
diff --git a/docs/en/latest/tutorials/cache-api-responses.md 
b/docs/en/latest/tutorials/cache-api-responses.md
index 9ee23f888..717d44512 100644
--- a/docs/en/latest/tutorials/cache-api-responses.md
+++ b/docs/en/latest/tutorials/cache-api-responses.md
@@ -116,7 +116,7 @@ curl http://127.0.0.1:9180/apisix/admin/plugins/reload -H 
"X-API-KEY: $admin_key
 Then, we run two more curl commands to configure an Upstream and Route for the 
`/api/products` endpoint. The following command creates a sample upstream 
(that's our API Server):
 
 ``` shell
-curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H "X-API-KEY: 
$admin_key" -X PUT -d '
 {
   "type": "roundrobin",
   "nodes": {
@@ -128,7 +128,7 @@ curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H 
"X-API-KEY: edd1c9f0343
 Next, we will add a new route with caching ability by setting `proxy-cache` 
plugin in `plugins` property and giving a reference to the upstream service by 
its unique id to forward requests to the API server:
 
 ``` shell
-curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '{
+curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: $admin_key" 
-X PUT -d '{
   "name": "Route for API Caching",
   "methods": [
     "GET"
diff --git a/docs/en/latest/tutorials/client-to-apisix-mtls.md 
b/docs/en/latest/tutorials/client-to-apisix-mtls.md
index ef0ac7149..9bd7f9d6f 100644
--- a/docs/en/latest/tutorials/client-to-apisix-mtls.md
+++ b/docs/en/latest/tutorials/client-to-apisix-mtls.md
@@ -74,9 +74,18 @@ Note that the newline character in the certificate needs to 
be replaced with its
 
 :::
 
+:::note
+You can fetch the `admin_key` from `config.yaml` and save it to an environment 
variable with the following command:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```shell
 curl -X PUT 'http://127.0.0.1:9180/apisix/admin/ssls/1' \
---header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
+--header 'X-API-KEY: $admin_key' \
 --header 'Content-Type: application/json' \
 --data-raw '{
     "sni": "test.com",
@@ -99,7 +108,7 @@ Use the `curl` command to request the APISIX Admin API to 
create a route.
 
 ```shell
 curl -X PUT 'http://127.0.0.1:9180/apisix/admin/routes/1' \
---header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
+--header 'X-API-KEY: $admin_key' \
 --header 'Content-Type: application/json' \
 --data-raw '{
     "uri": "/anything",
@@ -206,15 +215,6 @@ instead of alert error in the SSL handshake phase, if the 
client certificate is
 
 ### Example
 
-:::note
-You can fetch the `admin_key` from `config.yaml` and save to an environment 
variable with the following command:
-
-```bash
-admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
-```
-
-:::
-
 1. Configure route and ssl via admin API
 
 ```bash
diff --git a/docs/en/latest/tutorials/expose-api.md 
b/docs/en/latest/tutorials/expose-api.md
index cab143a25..69eb4ea74 100644
--- a/docs/en/latest/tutorials/expose-api.md
+++ b/docs/en/latest/tutorials/expose-api.md
@@ -56,9 +56,18 @@ Please make sure you have [installed Apache 
APISIX](../installation-guide.md) be
 
 Create an Upstream service containing `httpbin.org` that you can use for 
testing. This is a return service that will return the parameters we passed in 
the request.
 
+:::note
+You can fetch the `admin_key` from `config.yaml` and save it to an environment 
variable with the following command:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```
 curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; \
--H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+-H "X-API-KEY: $admin_key" -X PUT -d '
 {
   "type": "roundrobin",
   "nodes": {
@@ -67,7 +76,7 @@ curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; \
 }'
 ```
 
-In this command, we specify the Admin API Key of Apache APISIX as 
`edd1c9f034335f136f87ad84b625c8f1`, use `roundrobin` as the load balancing 
mechanism, and set `httpbin.org:80` as the upstream service. To bind this 
upstream to a route, `upstream_id` needs to be set to `1` here. Here you can 
specify multiple upstreams under `nodes` to achieve load balancing.
+In this command, we use the Admin API key stored in `$admin_key`, use 
`roundrobin` as the load balancing mechanism, and set `httpbin.org:80` as the 
upstream service. To bind this upstream to a route, `upstream_id` needs to be 
set to `1` here. Here you can specify multiple upstreams under `nodes` to 
achieve load balancing.
 
 For more information, please refer to [Upstream](../terminology/upstream.md).
 
@@ -75,7 +84,7 @@ For more information, please refer to 
[Upstream](../terminology/upstream.md).
 
 ```shell
 curl "http://127.0.0.1:9180/apisix/admin/routes/1"; \
--H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+-H "X-API-KEY: $admin_key" -X PUT -d '
 {
   "methods": ["GET"],
   "host": "example.com",
@@ -90,7 +99,7 @@ Adding an `upstream` object to your route can achieve the 
above effect.
 
 ```shell
 curl "http://127.0.0.1:9180/apisix/admin/routes/1"; \
--H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+-H "X-API-KEY: $admin_key" -X PUT -d '
 {
   "methods": ["GET"],
   "host": "example.com",
diff --git a/docs/en/latest/tutorials/monitor-api-health-check.md 
b/docs/en/latest/tutorials/monitor-api-health-check.md
index 84edad340..bd812074f 100644
--- a/docs/en/latest/tutorials/monitor-api-health-check.md
+++ b/docs/en/latest/tutorials/monitor-api-health-check.md
@@ -52,8 +52,17 @@ To check API health periodically, APISIX needs an HTTP path 
of the health endpoi
 
 This process involves checking the operational status of the 'upstream' nodes. 
APISIX provides two types of health checks: **Active checks** and **Passive 
Checks** respectively. Read more about Health Checks and how to enable them 
[here](https://apisix.apache.org/docs/apisix/tutorials/health-check/). Use the 
[Admin API](https://apisix.apache.org/docs/apisix/admin-api/) to create an 
Upstream object. Here is an example of creating an 
[Upstream](https://apisix.apache.org/docs/apisix/termino [...]
 
+:::note
+You can fetch the `admin_key` from `config.yaml` and save it to an environment 
variable with the following command:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```bash
-curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H "X-API-KEY: 
$admin_key" -X PUT -d '
 {
    "nodes":{
       "web1:80":1,
@@ -86,7 +95,7 @@ This example configures an active health check on the 
**`/health`** endpoint of
 Create a global rule to enable the `prometheus` plugin on all routes by adding 
`"prometheus": {}` in the plugins option. APISIX gathers internal runtime 
metrics and exposes them through port `9091` and URI path 
`/apisix/prometheus/metrics` by default that Prometheus can scrape. It is also 
possible to customize the export port and **URI path**, **add** **extra labels, 
the frequency of these scrapes, and other parameters** by configuring them in 
the Prometheus configuration `/prometheus_co [...]
 
 ```bash
-curl "http://127.0.0.1:9180/apisix/admin/global_rules"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+curl "http://127.0.0.1:9180/apisix/admin/global_rules"; -H "X-API-KEY: 
$admin_key" -X PUT -d '
 {
    "id":"rule-for-metrics",
    "plugins":{
@@ -101,7 +110,7 @@ curl "http://127.0.0.1:9180/apisix/admin/global_rules"; -H 
"X-API-KEY: edd1c9f034
 Create a [Route](https://apisix.apache.org/docs/apisix/terminology/route/) 
object to route incoming requests to upstream nodes:
 
 ```bash
-curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: $admin_key" 
-X PUT -d '
 {
    "name":"backend-service-route",
    "methods":[
diff --git a/docs/en/latest/tutorials/websocket-authentication.md 
b/docs/en/latest/tutorials/websocket-authentication.md
index f77d466a8..5b74891c4 100644
--- a/docs/en/latest/tutorials/websocket-authentication.md
+++ b/docs/en/latest/tutorials/websocket-authentication.md
@@ -79,9 +79,18 @@ Since the Upstream uses wss protocol, the scheme is set to 
`https`. We should al
 
 In this tutorial, we will use the 
[key-auth](https://apisix.apache.org/docs/apisix/plugins/key-auth/) Plugin. 
This would work similarly for other authentication methods:
 
+:::note
+You can fetch the `admin_key` from `config.yaml` and save it to an environment 
variable with the following command:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```shell
 curl --location --request PUT 'http://127.0.0.1:9180/apisix/admin/routes/1' \
---header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
+--header 'X-API-KEY: $admin_key' \
 --header 'Content-Type: application/json' \
 --data-raw '{
     "uri": "/*",
@@ -106,7 +115,7 @@ We will now create a 
[Consumer](https://apisix.apache.org/docs/apisix/terminolog
 
 ```sh
 curl --location --request PUT 
'http://127.0.0.1:9180/apisix/admin/consumers/jack' \
---header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
+--header 'X-API-KEY: $admin_key' \
 --header 'Content-Type: application/json' \
 --data-raw '{
     "username": "jack",
diff --git a/docs/zh/latest/FAQ.md b/docs/zh/latest/FAQ.md
index 5dcb639ea..2d58dec59 100644
--- a/docs/zh/latest/FAQ.md
+++ b/docs/zh/latest/FAQ.md
@@ -450,14 +450,14 @@ curl http://127.0.0.1:9080/ip -i
 
 ## Admin API 的 `X-API-KEY` 指的是什么?是否可以修改?
 
-Admin API 的 `X-API-KEY` 指的是 `./conf/config.yaml` 文件中的 
`deployment.admin.admin_key.key`,默认值是 `edd1c9f034335f136f87ad84b625c8f1`。它是 
Admin API 的访问 token。
+Admin API 的 `X-API-KEY` 指的是 `./conf/config.yaml` 文件中的 
`deployment.admin.admin_key[0].key`。它是 Admin API 的访问 token。
 
-默认情况下,它被设置为 `edd1c9f034335f136f87ad84b625c8f1`,也可以通过修改 `./conf/conf/config` 
中的参数来修改,如下示例:
+在默认配置中,该字段为空。APISIX 会在初始化时自动生成一个随机的 Admin API Key,并将其写回 
`./conf/config.yaml`。你也可以通过修改 `./conf/config.yaml` 中的参数来显式设置该 Key,如下示例:
 
 ```yaml
 deployment:
   admin:
-    admin_key
+    admin_key:
       - name: "admin"
         key: newkey
         role: admin
diff --git a/docs/zh/latest/admin-api.md b/docs/zh/latest/admin-api.md
index 62ea51a1f..a57d30188 100644
--- a/docs/zh/latest/admin-api.md
+++ b/docs/zh/latest/admin-api.md
@@ -56,7 +56,7 @@ deployment:
     admin:
         admin_key:
         - name: admin
-            key: edd1c9f034335f136f87ad84b625c8f1  # 使用默认的 Admin API Key 
存在安全风险,部署到生产环境时请及时更新
+            key: your-admin-key  # 设置安全的 Admin API Key;如果留空,APISIX 
会在初始化时自动生成并写回此文件
             role: admin
         allow_admin:                    # 
http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
             - 127.0.0.0/24
@@ -94,7 +94,7 @@ deployment:
   admin:
     admin_key:
     - name: admin
-      key: ${{ADMIN_KEY:=edd1c9f034335f136f87ad84b625c8f1}}
+      key: ${{ADMIN_KEY:=your-admin-key}}
       role: admin
     allow_admin:
     - 127.0.0.0/24
@@ -103,7 +103,7 @@ deployment:
       port: 9180
 ```
 
-首先查找环境变量 `ADMIN_KEY`,如果该环境变量不存在,它将使用 `edd1c9f034335f136f87ad84b625c8f1` 作为默认值。
+首先查找环境变量 `ADMIN_KEY`,如果该环境变量不存在,它将使用你在配置中提供的兜底值。
 
 您还可以在 yaml 键中指定环境变量。这在 `standalone` 模式 中特别有用,您可以在其中指定上游节点,如下所示:
 
@@ -1493,7 +1493,7 @@ Plugin 资源请求地址:/apisix/admin/plugins/{plugin_name}
 
     ```shell
     curl "http://127.0.0.1:9180/apisix/admin/plugins/list" \
-    -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'
+    -H 'X-API-KEY: your-admin-key'
     ```
 
     ```shell
@@ -1504,7 +1504,7 @@ Plugin 资源请求地址:/apisix/admin/plugins/{plugin_name}
 
     ```shell
     curl "http://127.0.0.1:9180/apisix/admin/plugins/key-auth?subsystem=http" \
-    -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'
+    -H 'X-API-KEY: your-admin-key'
     ```
 
     ```json
diff --git a/docs/zh/latest/certificate.md b/docs/zh/latest/certificate.md
index f85e663a8..dee938bb5 100644
--- a/docs/zh/latest/certificate.md
+++ b/docs/zh/latest/certificate.md
@@ -233,7 +233,7 @@ deployment:
   admin:
     admin_key
       - name: admin
-        key: edd1c9f034335f136f87ad84b625c8f1
+        key: your-admin-key
         role: admin
     admin_listen:
       ip: 127.0.0.1
diff --git a/docs/zh/latest/dashboard.md b/docs/zh/latest/dashboard.md
index 18f87f95b..25b97cf8a 100644
--- a/docs/zh/latest/dashboard.md
+++ b/docs/zh/latest/dashboard.md
@@ -73,8 +73,8 @@ deployment:
       -
         name: admin
         role: admin
-        # 使用简单的 Admin API Key 存在安全风险,部署到生产环境时请及时更新
-        key: edd1c9f034335f136f87ad84b625c8f1
+        # 设置安全的 Admin API Key。如果留空,APISIX 会在初始化时自动生成并写回此文件。
+        key: your-admin-key
 ```
 
 也支持通过环境变量配置:
diff --git a/docs/zh/latest/plugins/authz-casdoor.md 
b/docs/zh/latest/plugins/authz-casdoor.md
index e24150fd6..d09156a22 100644
--- a/docs/zh/latest/plugins/authz-casdoor.md
+++ b/docs/zh/latest/plugins/authz-casdoor.md
@@ -55,8 +55,18 @@ description: 本篇文档介绍了 Apache APISIX auth-casdoor 插件的相关信
 
 以下示例展示了如何在指定路由上启用 `auth-casdoor` 插件:
 
+:::note 注意
+
+您可以这样从 `config.yaml` 中获取 `admin_key` 并存入环境变量:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```shell
-curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: $admin_key" 
-X PUT -d '
 {
   "methods": ["GET"],
   "uri": "/anything/*",
diff --git a/docs/zh/latest/plugins/csrf.md b/docs/zh/latest/plugins/csrf.md
index 49eb4bbb1..c6ac5118d 100644
--- a/docs/zh/latest/plugins/csrf.md
+++ b/docs/zh/latest/plugins/csrf.md
@@ -65,7 +65,7 @@ curl -i http://127.0.0.1:9180/apisix/admin/routes/1 -H 
"X-API-KEY: $admin_key" -
   "uri": "/hello",
   "plugins": {
     "csrf": {
-      "key": "edd1c9f034335f136f87ad84b625c8f1"
+      "key": "csrf-secret-key"
     }
   },
   "upstream": {
diff --git a/docs/zh/latest/plugins/gm.md b/docs/zh/latest/plugins/gm.md
index 317b23b42..a49bd7673 100644
--- a/docs/zh/latest/plugins/gm.md
+++ b/docs/zh/latest/plugins/gm.md
@@ -142,7 +142,7 @@ with open(sys.argv[3]) as f:
     sign_cert = f.read()
 with open(sys.argv[4]) as f:
     sign_key = f.read()
-api_key = "edd1c9f034335f136f87ad84b625c8f1"
+api_key = "your-admin-key"
 resp = requests.put("http://127.0.0.1:9180/apisix/admin/ssls/1";, json={
     "cert": enc_cert,
     "key": enc_key,
diff --git a/docs/zh/latest/tutorials/cache-api-responses.md 
b/docs/zh/latest/tutorials/cache-api-responses.md
index c95f99e81..83347ecee 100644
--- a/docs/zh/latest/tutorials/cache-api-responses.md
+++ b/docs/zh/latest/tutorials/cache-api-responses.md
@@ -109,7 +109,7 @@ curl http://127.0.0.1:9180/apisix/admin/plugins/reload -H 
"X-API-KEY: $admin_key
 然后,我们运行两个 curl 命令来为 `/api/products` 端点配置 **Upstream** 和 **Route**。首先,创建一个示例 
Upstream(也就是我们的 API 服务器):
 
 ```shell
-curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H "X-API-KEY: 
$admin_key" -X PUT -d '
 {
   "type": "roundrobin",
   "nodes": {
@@ -121,7 +121,7 @@ curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; -H 
"X-API-KEY: edd1c9f0343
 接下来,我们为 `/api/products` 添加一个具备缓存能力的路由,通过在 `plugins` 属性中设置 `proxy-cache` 插件,并通过 
**upstream_id** 引用上游服务,将请求转发到 API 服务器:
 
 ```shell
-curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '{
+curl "http://127.0.0.1:9180/apisix/admin/routes/1"; -H "X-API-KEY: $admin_key" 
-X PUT -d '{
   "name": "Route for API Caching",
   "methods": [
     "GET"
diff --git a/docs/zh/latest/tutorials/client-to-apisix-mtls.md 
b/docs/zh/latest/tutorials/client-to-apisix-mtls.md
index a697c6d12..aa8a7a34c 100644
--- a/docs/zh/latest/tutorials/client-to-apisix-mtls.md
+++ b/docs/zh/latest/tutorials/client-to-apisix-mtls.md
@@ -74,9 +74,19 @@ openssl pkcs12 -export -clcerts -in client.cer -inkey 
client.key -out client.p12
 
 :::
 
+:::note 注意
+
+你可以通过以下命令从 `config.yaml` 中获取 `admin_key` 并保存到环境变量:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```shell
 curl -X PUT 'http://127.0.0.1:9180/apisix/admin/ssls/1' \
---header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
+--header 'X-API-KEY: $admin_key' \
 --header 'Content-Type: application/json' \
 --data-raw '{
     "sni": "test.com",
@@ -99,7 +109,7 @@ curl -X PUT 'http://127.0.0.1:9180/apisix/admin/ssls/1' \
 
 ```shell
 curl -X PUT 'http://127.0.0.1:9180/apisix/admin/routes/1' \
---header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
+--header 'X-API-KEY: $admin_key' \
 --header 'Content-Type: application/json' \
 --data-raw '{
     "uri": "/anything",
diff --git a/docs/zh/latest/tutorials/expose-api.md 
b/docs/zh/latest/tutorials/expose-api.md
index 9561717e6..079577b79 100644
--- a/docs/zh/latest/tutorials/expose-api.md
+++ b/docs/zh/latest/tutorials/expose-api.md
@@ -59,9 +59,18 @@ APISIX 可以通过路由定义规则来匹配客户端请求,根据匹配结
 
 创建一个包含 `httpbin.org` 的上游服务,你可以使用它进行测试。这是一个返回服务,它将返回我们在请求中传递的参数。
 
+:::note 注意
+你可以通过以下命令从 `config.yaml` 中获取 `admin_key` 并保存到环境变量:
+
+```bash
+admin_key=$(yq '.deployment.admin.admin_key[0].key' conf/config.yaml | sed 
's/"//g')
+```
+
+:::
+
 ```shell
 curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; \
--H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+-H "X-API-KEY: $admin_key" -X PUT -d '
 {
   "type": "roundrobin",
   "nodes": {
@@ -70,7 +79,7 @@ curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; \
 }'
 ```
 
-在该命令中,我们指定了 Apache APISIX 的 Admin API Key 为 
`edd1c9f034335f136f87ad84b625c8f1`,并且使用 `roundrobin` 作为负载均衡机制,并设置了 
`httpbin.org:80` 为上游服务。为了将该上游绑定到路由,此处需要把 `upstream_id` 设置为 `1`。此处你可以在 `nodes` 
下指定多个上游,以达到负载均衡的效果。
+在该命令中,我们使用保存在 `$admin_key` 中的 Apache APISIX Admin API Key,并且使用 `roundrobin` 
作为负载均衡机制,并设置了 `httpbin.org:80` 为上游服务。为了将该上游绑定到路由,此处需要把 `upstream_id` 设置为 
`1`。此处你可以在 `nodes` 下指定多个上游,以达到负载均衡的效果。
 
 如需了解更多信息,请参考[上游](../terminology/upstream.md)。
 
@@ -78,7 +87,7 @@ curl "http://127.0.0.1:9180/apisix/admin/upstreams/1"; \
 
 ```shell
 curl "http://127.0.0.1:9180/apisix/admin/routes/1"; \
--H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+-H "X-API-KEY: $admin_key" -X PUT -d '
 {
   "methods": ["GET"],
   "host": "example.com",
@@ -93,7 +102,7 @@ curl "http://127.0.0.1:9180/apisix/admin/routes/1"; \
 
 ```shell
 curl "http://127.0.0.1:9180/apisix/admin/routes/1"; \
--H "X-API-KEY: edd1c9f034335f136f87ad84b625c8f1" -X PUT -d '
+-H "X-API-KEY: $admin_key" -X PUT -d '
 {
   "methods": ["GET"],
   "host": "example.com",

Reply via email to