basic-auth

    名字

    添加 Basic Authentication 到一个 serviceroute。 然后 consumer 将其用户名和密码添加到请求头中以验证其请求。

    如何启用

    你可以使用浏览器打开 dashboard:http://127.0.0.1:9080/apisix/dashboard/,通过 web 界面来完成上面的操作,先增加一个 consumer:

    然后在 consumer 页面中添加 basic-auth 插件:

    2. 创建 Route 或 Service 对象,并开启 basic-auth 插件。

    1. {
    2. "methods": ["GET"],
    3. "uri": "/hello",
    4. "plugins": {
    5. "basic-auth": {}
    6. },
    7. "upstream": {
    8. "type": "roundrobin",
    9. "nodes": {
    10. "127.0.0.1:8080": 1
    11. }
    12. }'
    • 缺少 Authorization header
    • 用户名不存在:
    1. $ curl -i -ubar:bar http://127.0.0.1:9080/hello
    2. HTTP/1.1 401 Unauthorized
    3. ...
    4. {"message":"Invalid user key in authorization"}
    • 密码错误:
    • 成功请求:
    1. $ curl -i -ufoo:bar http://127.0.0.1:9080/hello
    2. HTTP/1.1 200 OK
    3. ...
    4. ...

    禁用插件

    当你想去掉 basic-auth 插件的时候,很简单,在插件的配置中把对应的 配置删除即可,无须重启服务,即刻生效: