Add this section to your declarative configuration file:
_format_version : " 3.0"
plugins :
- name : openid-connect
config :
issuer : ${{ env "DECK_ISSUER" }}
client_id :
- ${{ env "DECK_CLIENT_ID" }}
client_secret :
- ${{ env "DECK_CLIENT_SECRET" }}
redirect_uri :
- ${{ env "DECK_REDIRECT_URI" }}
scopes :
- openid
- email
- profile
- ${{ env "DECK_CLIENT_ID" }}/.default
verify_parameters : false
Make the following request:
curl -i -X POST http://localhost:8001/plugins/ \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "openid-connect",
"config": {
"issuer": "' $ISSUER '",
"client_id": [
"' $CLIENT_ID '"
],
"client_secret": [
"' $CLIENT_SECRET '"
],
"redirect_uri": [
"' $REDIRECT_URI '"
],
"scopes": [
"openid",
"email",
"profile",
"' $CLIENT_ID '/.default"
],
"verify_parameters": false
}
}
'
Make the following request:
curl -X POST https://{ region} .api.konghq.com/v2/control-planes/{ controlPlaneId} /core-entities/plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $KONNECT_TOKEN " \
--data '
{
"name": "openid-connect",
"config": {
"issuer": "' $ISSUER '",
"client_id": [
"' $CLIENT_ID '"
],
"client_secret": [
"' $CLIENT_SECRET '"
],
"redirect_uri": [
"' $REDIRECT_URI '"
],
"scopes": [
"openid",
"email",
"profile",
"' $CLIENT_ID '/.default"
],
"verify_parameters": false
}
}
'
Make sure to replace the following placeholders with your own values:
region
: Geographic region where your Kong Konnect is hosted and operates.
controlPlaneId
: The id
of the control plane.
KONNECT_TOKEN
: Your Personal Access Token (PAT) associated with your Konnect account.
See the Konnect API reference to learn about region-specific URLs and personal access tokens.
echo "
apiVersion : configuration.konghq.com/v1
kind : KongClusterPlugin
metadata :
name : openid-connect
namespace : kong
annotations :
kubernetes.io/ingress.class : kong
labels :
global : ' true'
config :
issuer : ' $ISSUER'
client_id :
- ' $CLIENT_ID'
client_secret :
- ' $CLIENT_SECRET'
redirect_uri :
- ' $REDIRECT_URI'
scopes :
- openid
- email
- profile
- ' $CLIENT_ID/.default'
verify_parameters : false
plugin : openid-connect
" | kubectl apply -f -
Prerequisite: Configure your Personal Access Token
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "$KONNECT_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Add the following to your Terraform configuration to create a Konnect Gateway Plugin:
resource "konnect_gateway_plugin_openid_connect" "my_openid_connect" {
enabled = true
config = {
issuer = var . issuer
client_id = [ var . client_id ]
client_secret = [ var . client_secret ]
redirect_uri = [ var . redirect_uri ]
scopes = [ "openid" , "email" , "profile" , var . client_id / . default ]
verify_parameters = false
}
control_plane_id = konnect_gateway_control_plane . my_konnect_cp . id
}
This example requires the following variables to be added to your manifest. You can specify values at runtime by setting TF_VAR_name=value
.
variable "redirect_uri" {
type = string
}
Add this section to your declarative configuration file:
_format_version : " 3.0"
plugins :
- name : openid-connect
service : serviceName|Id
config :
issuer : ${{ env "DECK_ISSUER" }}
client_id :
- ${{ env "DECK_CLIENT_ID" }}
client_secret :
- ${{ env "DECK_CLIENT_SECRET" }}
redirect_uri :
- ${{ env "DECK_REDIRECT_URI" }}
scopes :
- openid
- email
- profile
- ${{ env "DECK_CLIENT_ID" }}/.default
verify_parameters : false
Make sure to replace the following placeholders with your own values:
serviceName|Id
: The id
or name
of the service the plugin configuration will target.
Make the following request:
curl -i -X POST http://localhost:8001/services/{ serviceName|Id} /plugins/ \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "openid-connect",
"config": {
"issuer": "' $ISSUER '",
"client_id": [
"' $CLIENT_ID '"
],
"client_secret": [
"' $CLIENT_SECRET '"
],
"redirect_uri": [
"' $REDIRECT_URI '"
],
"scopes": [
"openid",
"email",
"profile",
"' $CLIENT_ID '/.default"
],
"verify_parameters": false
}
}
'
Make sure to replace the following placeholders with your own values:
serviceName|Id
: The id
or name
of the service the plugin configuration will target.
Make the following request:
curl -X POST https://{ region} .api.konghq.com/v2/control-planes/{ controlPlaneId} /core-entities/services/{ serviceId} /plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $KONNECT_TOKEN " \
--data '
{
"name": "openid-connect",
"config": {
"issuer": "' $ISSUER '",
"client_id": [
"' $CLIENT_ID '"
],
"client_secret": [
"' $CLIENT_SECRET '"
],
"redirect_uri": [
"' $REDIRECT_URI '"
],
"scopes": [
"openid",
"email",
"profile",
"' $CLIENT_ID '/.default"
],
"verify_parameters": false
}
}
'
Make sure to replace the following placeholders with your own values:
region
: Geographic region where your Kong Konnect is hosted and operates.
controlPlaneId
: The id
of the control plane.
KONNECT_TOKEN
: Your Personal Access Token (PAT) associated with your Konnect account.
serviceId
: The id
of the service the plugin configuration will target.
See the Konnect API reference to learn about region-specific URLs and personal access tokens.
echo "
apiVersion : configuration.konghq.com/v1
kind : KongPlugin
metadata :
name : openid-connect
namespace : kong
annotations :
kubernetes.io/ingress.class : kong
config :
issuer : ' $ISSUER'
client_id :
- ' $CLIENT_ID'
client_secret :
- ' $CLIENT_SECRET'
redirect_uri :
- ' $REDIRECT_URI'
scopes :
- openid
- email
- profile
- ' $CLIENT_ID/.default'
verify_parameters : false
plugin : openid-connect
" | kubectl apply -f -
Next, apply the KongPlugin
resource by annotating the service
resource:
kubectl annotate -n kong service SERVICE_NAME konghq.com/plugins= openid-connect
Prerequisite: Configure your Personal Access Token
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "$KONNECT_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Add the following to your Terraform configuration to create a Konnect Gateway Plugin:
resource "konnect_gateway_plugin_openid_connect" "my_openid_connect" {
enabled = true
config = {
issuer = var . issuer
client_id = [ var . client_id ]
client_secret = [ var . client_secret ]
redirect_uri = [ var . redirect_uri ]
scopes = [ "openid" , "email" , "profile" , var . client_id / . default ]
verify_parameters = false
}
control_plane_id = konnect_gateway_control_plane . my_konnect_cp . id
service = {
id = konnect_gateway_service . my_service . id
}
}
This example requires the following variables to be added to your manifest. You can specify values at runtime by setting TF_VAR_name=value
.
variable "redirect_uri" {
type = string
}
Add this section to your declarative configuration file:
_format_version : " 3.0"
plugins :
- name : openid-connect
route : routeName|Id
config :
issuer : ${{ env "DECK_ISSUER" }}
client_id :
- ${{ env "DECK_CLIENT_ID" }}
client_secret :
- ${{ env "DECK_CLIENT_SECRET" }}
redirect_uri :
- ${{ env "DECK_REDIRECT_URI" }}
scopes :
- openid
- email
- profile
- ${{ env "DECK_CLIENT_ID" }}/.default
verify_parameters : false
Make sure to replace the following placeholders with your own values:
routeName|Id
: The id
or name
of the route the plugin configuration will target.
Make the following request:
curl -i -X POST http://localhost:8001/routes/{ routeName|Id} /plugins/ \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '
{
"name": "openid-connect",
"config": {
"issuer": "' $ISSUER '",
"client_id": [
"' $CLIENT_ID '"
],
"client_secret": [
"' $CLIENT_SECRET '"
],
"redirect_uri": [
"' $REDIRECT_URI '"
],
"scopes": [
"openid",
"email",
"profile",
"' $CLIENT_ID '/.default"
],
"verify_parameters": false
}
}
'
Make sure to replace the following placeholders with your own values:
routeName|Id
: The id
or name
of the route the plugin configuration will target.
Make the following request:
curl -X POST https://{ region} .api.konghq.com/v2/control-planes/{ controlPlaneId} /core-entities/routes/{ routeId} /plugins/ \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $KONNECT_TOKEN " \
--data '
{
"name": "openid-connect",
"config": {
"issuer": "' $ISSUER '",
"client_id": [
"' $CLIENT_ID '"
],
"client_secret": [
"' $CLIENT_SECRET '"
],
"redirect_uri": [
"' $REDIRECT_URI '"
],
"scopes": [
"openid",
"email",
"profile",
"' $CLIENT_ID '/.default"
],
"verify_parameters": false
}
}
'
Make sure to replace the following placeholders with your own values:
region
: Geographic region where your Kong Konnect is hosted and operates.
controlPlaneId
: The id
of the control plane.
KONNECT_TOKEN
: Your Personal Access Token (PAT) associated with your Konnect account.
routeId
: The id
of the route the plugin configuration will target.
See the Konnect API reference to learn about region-specific URLs and personal access tokens.
echo "
apiVersion : configuration.konghq.com/v1
kind : KongPlugin
metadata :
name : openid-connect
namespace : kong
annotations :
kubernetes.io/ingress.class : kong
config :
issuer : ' $ISSUER'
client_id :
- ' $CLIENT_ID'
client_secret :
- ' $CLIENT_SECRET'
redirect_uri :
- ' $REDIRECT_URI'
scopes :
- openid
- email
- profile
- ' $CLIENT_ID/.default'
verify_parameters : false
plugin : openid-connect
" | kubectl apply -f -
Next, apply the KongPlugin
resource by annotating the httproute
or ingress
resource:
kubectl annotate -n kong httproute konghq.com/plugins= openid-connect
kubectl annotate -n kong ingress konghq.com/plugins= openid-connect
Prerequisite: Configure your Personal Access Token
terraform {
required_providers {
konnect = {
source = "kong/konnect"
}
}
}
provider "konnect" {
personal_access_token = "$KONNECT_TOKEN"
server_url = "https://us.api.konghq.com/"
}
Add the following to your Terraform configuration to create a Konnect Gateway Plugin:
resource "konnect_gateway_plugin_openid_connect" "my_openid_connect" {
enabled = true
config = {
issuer = var . issuer
client_id = [ var . client_id ]
client_secret = [ var . client_secret ]
redirect_uri = [ var . redirect_uri ]
scopes = [ "openid" , "email" , "profile" , var . client_id / . default ]
verify_parameters = false
}
control_plane_id = konnect_gateway_control_plane . my_konnect_cp . id
route = {
id = konnect_gateway_route . my_route . id
}
}
This example requires the following variables to be added to your manifest. You can specify values at runtime by setting TF_VAR_name=value
.
variable "redirect_uri" {
type = string
}