All Projects → Optum → kong-oidc-auth

Optum / kong-oidc-auth

Licence: Apache-2.0 license
OpenID Connect authentication with Kong gateway

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to kong-oidc-auth

kong-upstream-jwt
A plugin for Kong which adds a signed JWT to HTTP Headers to backend requests
Stars: ✭ 40 (-2.44%)
Mutual labels:  api-gateway, kong, optum
kong-java-client
Java Client for Kong API Gateway configuration
Stars: ✭ 69 (+68.29%)
Mutual labels:  api-gateway, kong
kong-plugin-api-response-merger
Kong API response merger plugin
Stars: ✭ 14 (-65.85%)
Mutual labels:  api-gateway, kong
okta-api-center
Get up and running quickly with Okta's OAuth as a Service and your favorite API Gateway.
Stars: ✭ 58 (+41.46%)
Mutual labels:  api-gateway, kong
gluu-gateway
Gluu API 🚀 and Web Gateway 🎯
Stars: ✭ 29 (-29.27%)
Mutual labels:  api-gateway, kong
kong-ui
UI for KONG API Gateway
Stars: ✭ 20 (-51.22%)
Mutual labels:  api-gateway, kong
kong-map
Kongmap is a free visualization tool which allows you to view and edit configurations of your Kong API Gateway Clusters, including Routes, Services, and Plugins/Policies. The tool is being offered for installation via Docker and Kubernetes at this time.
Stars: ✭ 60 (+46.34%)
Mutual labels:  api-gateway, kong
django-api-bouncer
Simple Django app to provide API Gateways for micro-services
Stars: ✭ 18 (-56.1%)
Mutual labels:  api-gateway, kong
kong
Kong docker image that easily installs plugins from source code.
Stars: ✭ 20 (-51.22%)
Mutual labels:  api-gateway, kong
kong-scalable-rate-limiter
Kong plugin for Rate Limiting at high throughputs.
Stars: ✭ 19 (-53.66%)
Mutual labels:  api-gateway, kong
Kong
🦍 The Cloud-Native API Gateway
Stars: ✭ 30,838 (+75114.63%)
Mutual labels:  api-gateway, kong
Kong Docs Cn
微服务 Api 网关 Kong 最新文档中文版
Stars: ✭ 371 (+804.88%)
Mutual labels:  api-gateway, kong
kong-plugin-url-rewrite
Kong API Gateway plugin for url-rewrite purposes
Stars: ✭ 43 (+4.88%)
Mutual labels:  api-gateway, kong
kong-js-pdk
Kong PDK for Javascript and plugin server
Stars: ✭ 28 (-31.71%)
Mutual labels:  kong
cv4pve-api-php
Proxmox VE Client API for PHP
Stars: ✭ 45 (+9.76%)
Mutual labels:  api-gateway
spacesuit
API Gateway with URL remapping
Stars: ✭ 19 (-53.66%)
Mutual labels:  api-gateway
laravel-kong
A fluent api wrapper around Kong's API manger designed for Laravel.
Stars: ✭ 20 (-51.22%)
Mutual labels:  kong
lambda-starter
AWS Lambda Starter Kit with latest Babel 7, Jest 24 and Webpack 4.
Stars: ✭ 26 (-36.59%)
Mutual labels:  api-gateway
bobbycar
IoT Transportation demo using Red Hat OpenShift and Middleware technologies
Stars: ✭ 33 (-19.51%)
Mutual labels:  api-gateway
data
[deprecated] Generate a DynamoDB data access layer from an .arc file. Automatically disambiguates testing (in memory) from deployment staging and production tables
Stars: ✭ 20 (-51.22%)
Mutual labels:  api-gateway

Kong OIDC Auth

OpenID Connect authentication integration with the Kong Gateway

Configuration

You can add the plugin with the following request:

$ curl -X POST http://kong:8001/apis/{api}/plugins \
    --data "name=kong-oidc-auth" \
    --data "config.authorize_url=https://oauth.something.net/openid-connect/authorize" \
    --data "config.scope=openid+profile+email" \
    --data "config.pfidpadapterid=CompanyIdOIDCStage" \
    --data "config.token_url=https://oauth.something.net/openid-connect/token" \
    --data "config.client_id=SOME_CLEINT_ID" \
    --data "config.client_secret=SOME_SECRET_KEY" \
    --data "config.user_url=https://oauth.something.net/openid-connect/userinfo" \
    --data "config.user_keys=email,name,sub" \
    --data "config.hosted_domain=mycompany.com" \
    --data "config.email_key=email" \
    --data "config.salt=b3253141ce67204b" \
    --data "config.app_login_redirect_url=https://yourapplication.com/loggedin/dashboard" \
    --data "config.cookie_domain=.company.com" \
    --data "config.user_info_cache_enabled=false"
Form Parameter default description
name plugin name kong-oidc-auth
config.authorize_url authorization url of the OAUTH provider (the one to which you will be redirected when not authenticated)
config.scope OAUTH scope of the authorization request
config.pfidpadapterid
Optional
OAUTH PingFederate Adaptor ID of the authorization request ex: CompanyIdOIDCStage, essentially points to the idp environment, ping federate specific only
config.token_url url of the Oauth provider to request the access token
config.client_id OAUTH Client Id
config.client_secret OAUTH Client Secret
config.user_url url of the oauth provider used to retrieve user information and also check the validity of the access token
config.user_keys
Optional
username,email keys to extract from the user_url endpoint returned json, they will also be added to the headers of the upstream server as X-OAUTH-XXX
config.hosted_domain domain whose users must belong to in order to get logged in. Ignored if empty
config.email_key key to be checked for hosted domain, taken from userinfo endpoint
config.user_info_periodic_check 60 time in seconds between token checks
config.salt b3253141ce67204b salt for the user session token, must be 16 char alphanumeric
config.app_login_redirect_url Needed for Single Page Applications to redirect after initial authentication successful, otherwise a proxy request following initial authentication would redirect data directly to a users browser!
config.cookie_domain Specify the domain in which this cookie is valid for, realistically will need to match the gateway
config.user_info_cache_enabled This enables storing the userInfo in Kong local cache which enables sending the entire requested user information to the backend service upon every request, otherwise user info only comes back occasionally and backend api service providers are required to validate the EOAuth Cookie Session with cached user information within their logic

In addition to the user_keys will be added a X-OAUTH-TOKEN header with the access token of the provider.

NOTES: Ping Federate requires you to authorize a callback URL, all proxies have a standard call back route of: https://api-gateway.company.com/your/proxy/path/oauth2/callback

Supported Kong Releases

Kong >= 1.0

Installation

Recommended:

$ luarocks install kong-oidc-auth

Other:

$ git clone https://github.com/Optum/kong-oidc-auth.git /path/to/kong/plugins/kong-oidc-auth
$ cd /path/to/kong/plugins/kong-oidc-auth
$ luarocks make *.rockspec

Maintainers

jeremyjpj0916
rsbrisci

Feel free to open issues, or refer to our Contribution Guidelines if you have any questions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].