docs/content/integration/openid-connect/clients/cloudflare-zerotrust/index.md
{{% oidc-common bugs="client-credentials-encoding,claims-hydration" %}}
This example makes the following assumptions:
example-teamhttps://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/cloudflareinsecure_secretSome of the values presented in this guide can automatically be replaced with documentation variables.
{{< sitevar-preferences >}}
The following YAML configuration is an example Authelia client configuration for use with Cloudflare which will operate with the application example:
identity_providers:
oidc:
## The other portions of the mandatory OpenID Connect 1.0 configuration go here.
## See: https://www.authelia.com/c/oidc
clients:
- client_id: 'cloudflare'
client_name: 'Cloudflare ZeroTrust'
client_secret: '$pbkdf2-sha512$310000$c8p78n7pUMln0jzvd4aK4Q$JNRBzwAo0ek5qKn50cFzzvE9RXV88h1wJn5KGiHrD0YKtZaR/nCb2CJPOsKaPK0hjf.9yHxzQGZziziccp6Yng' # The digest of 'insecure_secret'.
public: false
authorization_policy: 'two_factor'
require_pkce: true
pkce_challenge_method: 'S256'
redirect_uris:
- 'https://example-team.cloudflareaccess.com/cdn-cgi/access/callback'
scopes:
- 'openid'
- 'profile'
- 'email'
response_types:
- 'code'
grant_types:
- 'authorization_code'
access_token_signed_response_alg: 'none'
userinfo_signed_response_alg: 'none'
token_endpoint_auth_method: 'client_secret_basic'
{{% oidc-escape-hatch-claims-hydration client_id="cloudflare" %}}
{{< callout context="caution" title="Important Note" icon="outline/alert-triangle" >}} It is a requirement that the Authelia URL's can be requested by Cloudflare's servers. This usually means that the URLs are accessible to foreign clients on the internet. There may be a way to configure this without accessibility to foreign clients on the internet on Cloudflare's end, but this is beyond the scope of this document. {{< /callout >}}
To configure Cloudflare Zero Trust there is one method, using the Web GUI.
To configure Cloudflare Zero Trust to utilize Authelia as an OpenID Connect 1.0 Provider, use the following instructions:
IntegrationsIdentity providersAdd an identity providerOpenID ConnectAutheliacloudflareinsecure_secrethttps://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/api/oidc/authorizationhttps://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/api/oidc/tokenhttps://{{< sitevar name="subdomain-authelia" nojs="auth" >}}.{{< sitevar name="domain" nojs="example.com" >}}/jwks.jsonProof Key for Code Exchange (PKCE)preferred_username, mail