I want to use multi authentication plugin (basic-auth, jwt)
So I create plugin and consumer(include anonymous consumer)
But always request-termination plugin block the request with block message "required authenticaion"
If I delete anonymous user in plugin and disable request-termination plugin, basic-auth and jwt plugin work correctly
cf. I change from consumer.id to consumer in request-termination configuration
I use kong 1.4.2 with ingress in kubernetes env
I create 2 consumer (global-consumer, anonymous-consumer)
apiVersion: configuration.konghq.com/v1
custom_id: global-consumer
kind: KongConsumer
metadata:
annotations:
kubernetes.io/ingress.class: kong
name: global-consumer
username: global-consumer
---
apiVersion: configuration.konghq.com/v1
custom_id: anonymous-consumer
kind: KongConsumer
metadata:
annotations:
kubernetes.io/ingress.class: kong
name: anonymous-consumer
username: anonymous-consumer
I create 3 plugin (basic-auth, jwt, request-termination) and set anonymous-consumer at all plugins
apiVersion: configuration.konghq.com/v1
enabled: true
kind: KongPlugin
metadata:
labels:
global: "false"
name: jwt
config:
anonymous: anonymous-consumer <== add anonymous
plugin: jwt
---
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: basic-auth
labels:
global: "false"
config:
hide_credentials: true
anonymous: anonymous-consumer <== add anonymous
plugin: basic-auth
---
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: request-termination
labels:
global: "false"
config:
status_code: 403
message: required authenticaion <== block message
consumer: anonymous-consumer
plugin: request-termination
---
apiVersion: configuration.konghq.com/v1
kind: KongCredential
metadata:
annotations:
kubernetes.io/ingress.class: kong
labels:
app.kubernetes.io/name: kong
name: basic-user
consumerRef: global-consumer
type: basic-auth
config:
username: user
password: password
Add plugin in Ingress
plugins.konghq.com: basic-auth,jwt,request-termination