You are browsing documentation for an outdated version of Kong. Go here
to browse the documentation for the latest version.
Table of Contents
In this section, you’ll learn how to enable plugins. One of the core principals of Kong is its extensibility through plugins. Plugins allow you to easily add new features to your API or make your API easier to manage.
First, we’ll have you configure and enable the keyauth plugin to add authentication to your API.
1. Add plugin to your Kong config
Add `keyauth` under the `plugins_available` property in your Kong instance configuration file should it not already exist:
2. Restart Kong
Issue the following command to restart Kong. This allows Kong to load the plugin.
$ kong restart
**Note:** If you have a cluster of Kong instances that share the configuration, you should restart each node in the cluster.
3. Configure the plugin for your API
Now that Kong has loaded the plugin, we should configure it to be enabled on your API.
Issue the following cURL request with your API `id` you created previously:
$ curl -i -X POST \
--url http://localhost:8001/plugins_configurations/ \
--data 'name=keyauth' \
--data 'api_id=YOUR_API_ID' \
**Note:** `value.key_names` is the authentication header name each request will require.
4. Verify that the plugin is enabled for your API
Issue the following cURL request to verify that the [keyauth][keyauth] plugin was enabled for your API:
$ curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host: mockbin.com'
Since you did not specify the required `apikey` header the response should be `401 Unauthorized`:
HTTP/1.1 401 Unauthorized
"message": "Your authentication credentials are invalid"
Now that you’ve enabled the keyauth plugin lets learn how to add consumers to your API so we can continue proxying requests through Kong.
Go to Adding Consumers ›