---
title: Integrate with Cloudflare Access
sidebar_label: Cloudflare Access
---

# Cloudflare Access

<span class="badge badge--secondary">Support level: Community</span>

## What is Cloudflare Access

> Cloudflare Access is a secure, cloud-based zero-trust solution for managing and authenticating user access to internal applications and resources.
>
> -- https://www.cloudflare.com/zero-trust/products/access/

## Preparation

The following placeholders will be used:

- `mysubdomain.cloudflareaccess.company` is the FQDN of your Cloudflare Access subdomain.
- `authentik.company` is the FQDN of the authentik install.

To proceed, you need to register for a free Cloudflare Access account and have both a Cloudflare account and a publicly accessible authentik instance with a trusted SSL certificate.

## authentik configuration

### Step 1: Log in to authentik

1. Log in to your authentik instance.
2. Click **Admin interface**.

### Step 2: Create a new authentication provider

3. Under **Application**, click **Providers** and create a new provider.
4. Choose **OAuth2/OpenID Provider** and then click **Next**.
5. Set the authorization flow to **Authorize Application** (`default-provider-authorization-explicit-consent`).
6. Set the client type to **Confidential**.
7. Set the redirect URI to `https://mysubdomain.cloudflareaccess.company/cdn-cgi/access/callback`.
8. Ensure that the signing key is set to **Authentik Self-signed Certificate**.
9. Click **Finish** to create the provider.

### Step 3: Create a new application

10. Create a new application and give it a name.
11. Set the provider to the one you just created.
12. Ensure that the **Policy engine mode** is set to **ANY, any policy must match to grant access**.
13. Click **Create** and then navigate to your [Cloudflare Access dashboard](https://one.dash.cloudflare.com).

## Cloudflare Access configuration

### Step 4: Configure Cloudflare Access

1. Go to the Cloudflare One dashboard.
2. Click **Settings** at the bottom of the menu, then select **Authentication**.

### Step 5: Add a login method

3. From **Login methods** click **Add** and select **OpenID Connect"**
4. Enter a name for your login method. This can be anything.
5. Copy the following details from the authentik provider settings you previously created and paste them into the text boxes:
    - **Client ID** -> App ID
    - **Client Secret** -> Client Secret
    - **Authorize URL** -> Auth URL
    - **Token URL** -> Token URL
    - **JWKS URL** -> Certificate URL
6. Click **Save**.
7. Click **Test** to verify your login provider.
