From 99b204cb100eb57c2a912a30f4bad1f0e0b77411 Mon Sep 17 00:00:00 2001 From: Amit Singh Date: Mon, 18 May 2026 11:55:13 +0530 Subject: [PATCH 1/5] Migrates Apache quickstart to new content model --- main/config/navigation/en.json | 2 +- main/docs/quickstart/webapp/apache/_index.mdx | 105 ----------- main/docs/quickstart/webapp/apache/index.mdx | 171 +++++++++--------- .../quickstart/webapp/apache/interactive.mdx | 117 ------------ main/docs/quickstarts.mdx | 2 +- 5 files changed, 88 insertions(+), 309 deletions(-) delete mode 100644 main/docs/quickstart/webapp/apache/_index.mdx delete mode 100644 main/docs/quickstart/webapp/apache/interactive.mdx diff --git a/main/config/navigation/en.json b/main/config/navigation/en.json index 13956d1b22..3d46dae0ab 100644 --- a/main/config/navigation/en.json +++ b/main/config/navigation/en.json @@ -2501,7 +2501,7 @@ "docs/quickstart/webapp/laravel/interactive", "docs/quickstart/webapp/php/interactive", "docs/quickstart/webapp/nginx-plus/interactive", - "docs/quickstart/webapp/apache/interactive", + "docs/quickstart/webapp/apache/index", "docs/quickstart/webapp/rails/interactive", "docs/quickstart/webapp/hono/index" ] diff --git a/main/docs/quickstart/webapp/apache/_index.mdx b/main/docs/quickstart/webapp/apache/_index.mdx deleted file mode 100644 index 9c5f5f316e..0000000000 --- a/main/docs/quickstart/webapp/apache/_index.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Apache - ---- - -import {AuthCodeGroup} from "/snippets/AuthCodeGroup.jsx"; - -import { Recipe, Content, Section, SideMenu, SideMenuSectionItem, SignUpForm } from "/snippets/recipe.jsx" -import Code1 from "/snippets/quickstart/webapp/apache/code1.mdx" -import Code2 from "/snippets/quickstart/webapp/apache/code2.mdx" - -export const sections = [ - { id: "system-requirements", title: "System Requirements" }, - { id: "install-and-enable-mod-auth-openidc-module", title: "Install and Enable mod_auth_openidc Module" }, - { id: "configure-the-module-with-your-auth0-account-information", title: "Configure the Module with Your Auth0 Account Information" }, - { id: "configure-auth0", title: "Configure Auth0" }, - { id: "authorization", title: "Authorization" } -] - - - - This tutorial demonstrates how to configure Apache to add authentication and authorization to your web app. We recommend that you log in to follow this quickstart with examples configured for your account. - -
- This tutorial and sample project have been tested with the following: - - - Apache 2.4 - - -
- -
- First, install the `mod_auth_openidc` module for Apache. - - You can get the binaries from [GitHub](https://github.com/zmartzone/mod_auth_openidc/releases) and install them for your OS. If your OS isn't compatible with any of the binaries, you can still [build it from source](https://github.com/zmartzone/mod_auth_openidc/blob/master/INSTALL). - - Once you've installed the module, enable it for Apache with the `a2enmod` command. To learn more, read [a2enmod on Ubuntu Manpage](https://manpages.ubuntu.com/manpages/focal/man8/a2enmod.8.html): - - ```text lines - a2enmod auth_openidc - ``` - - - For Windows, you can use [this Powershell script](https://github.com/enderandpeter/win-a2enmod#installation) to get `a2enmod` working on your system. - - - -
- -
- Update your new configuration file (`auth_openidc.conf`), located in the `/etc/apache2/mods-available` folder. - - - For Windows, you must use the `/apache/conf/httpd.conf` file. - - - - - -
- -
- In the Auth0 Dashboard: - - 1. Go to **Applications** > **Applications**, and then select your application from the list. - 2. Switch to the **Settings** view, and then locate the **Application URIs** section. - 3. Add the value of `OIDCRedirectURI` to **Allowed Callback URLs**. - 4. Locate **Advanced Settings** at the bottom of the page. - 5. Switch to the **OAuth** view. - 6. Set **JSON Web Token (JWT) Signature Algorithm** to `RS256`. - - -
- -
- You can configure Apache to protect a specific location based on the value of a claim in the user’s ID token by adding a `Location` block to your `auth_openidc.conf` file. - - For example, you could create an Action that reads the user’s roles, and then adds a claim that grants access to a protected location: - - ```js lines - exports.onExecutePostLogin = async (event, api) => { - const roles = event.authorization.roles; // ['user', 'admin'] - if (roles.includes('admin')) { - api.idToken.setCustomClaim('folder', 'admin'); - } - }; - ``` - - - - -
- - ## Next Steps - Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application. - - This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out: - - - [Auth0 Dashboard](https://manage.auth0.com/) - Learn how to configure and manage your Auth0 tenant and applications - - - [Auth0 Marketplace](https://marketplace.auth0.com/) - Discover integrations you can enable to extend Auth0’s functionality -
- - -
diff --git a/main/docs/quickstart/webapp/apache/index.mdx b/main/docs/quickstart/webapp/apache/index.mdx index a390f686a2..65250439e8 100644 --- a/main/docs/quickstart/webapp/apache/index.mdx +++ b/main/docs/quickstart/webapp/apache/index.mdx @@ -1,128 +1,129 @@ --- -title: "Apache" +mode: wide +description: This tutorial demonstrates how to configure Apache to add authentication and authorization to your web app. +sidebarTitle: Apache +title: Add Login to Your Apache Application --- -import {AuthCodeBlock} from "/snippets/AuthCodeBlock.jsx"; - - -Community maintained - -This tutorial demonstrates how to use the Auth0 Apache SDK to add authentication and authorization to your web app.We recommend that you log in to follow this quickstart with examples configured for your account. - - -### System Requirements - -This tutorial and seed project have been tested with the following: - -* Apache 2.4 - - -**Please follow the steps below to configure your application using Apache to work with Auth0 and Open ID Connect.** - -## Install and Enable mod_auth_openidc Module - -First, you need to install the `mod_auth_openidc` module for Apache. - -You can get the binaries from [Github](https://github.com/zmartzone/mod_auth_openidc/releases) and install them for your OS. If your OS isn't compatible with any of the binaries, you can still [build it from source](https://github.com/zmartzone/mod_auth_openidc/blob/master/INSTALL) - -Once you've installed it, you just need to enable it for Apache (If you are using Windows, you can use [this](https://github.com/enderandpeter/win-a2enmod#installation) to get `a2enmod` working on your system) - -```bash lines -a2enmod auth_openidc -``` - - - +import {AuthCodeBlock} from "/snippets/AuthCodeBlock.jsx"; - -## Configure the Module with Your Auth0 Account Information - -Now you should get a new configuration file under the `/etc/apache2/mods-available` folder, where Apache modules are normally installed (On Windows you need to use `/apache/conf/httpd.conf` file). - -In there, you must add the following configuration for the `mod_auth_openidc` module - -export const codeExample = `# mods-available/auth_openidc.conf - -OIDCProviderMetadataURL https://{yourDomain}/.well-known/openid-configuration +export const configSnippet = `OIDCProviderMetadataURL https://{yourDomain}/.well-known/openid-configuration OIDCClientID {yourClientId} -OIDCClientSecret '{yourClientSecret}' +OIDCClientSecret {yourClientSecret} OIDCScope "openid name email" OIDCRedirectURI https://your_apache_server/your_path/redirect_uri/ OIDCCryptoPassphrase - AuthType openid-connect - Require valid-user - LogLevel debug + AuthType openid-connect + Require valid-user + LogLevel debug + + + + AuthType openid-connect + #Require valid-user + Require claim folder:admin `; - + +If you use an AI coding assistant like Claude Code, Cursor, or GitHub Copilot, you can add Auth0 authentication automatically in minutes using [agent skills](https://agentskills.io/home). +**Install:** +```bash +npx skills add auth0/agent-skills --skill auth0-quickstart --skill auth0-apache +``` +**Then ask your AI assistant:** +```text +Add Auth0 authentication to my Apache server +``` -## Configuring Auth0 Settings +Your AI assistant will automatically create your Auth0 application, fetch credentials, and configure mod_auth_openidc. [Full agent skills documentation →](/quickstart/agent-skills) -In your application settings add a new allowed callback which is equal to `OIDCRedirectURI`. + -Now, go to OAuth section in advanced settings and change `JsonWebToken Token Signature Algorithm` to RS256. + + **System Requirements** -## Authorization + This tutorial and sample project have been tested with the following: -You can configure Apache to protect a certain location based on an attribute of the user. Here is an example: + - Apache 2.4 + -```conf lines -# mods-available/auth_openidc.conf +## Get Started - - AuthType openid-connect - #Require valid-user - Require claim folder:example - +This tutorial demonstrates how to configure Apache to add authentication and authorization to your web app. We recommend that you log in to follow this quickstart with examples configured for your account. - - AuthType openid-connect - #Require valid-user - Require claim folder:example2 - -``` + + + First, install the `mod_auth_openidc` module for Apache. + You can get the binaries from [GitHub](https://github.com/OpenIDC/mod_auth_openidc/releases) and install them for your OS. If your OS isn't compatible with any of the binaries, you can still [build it from source](https://github.com/OpenIDC/mod_auth_openidc/blob/master/INSTALL). + Once you've installed the module, enable it for Apache with the `a2enmod` command. To learn more, read [a2enmod on Ubuntu Manpage](https://manpages.ubuntu.com/manpages/focal/man8/a2enmod.8.html): + ```shellscript + a2enmod auth_openidc + ``` + + For Windows, you can use [this Powershell script](https://github.com/enderandpeter/win-a2enmod#installation) to get `a2enmod` working on your system. + + + + Update your new configuration file (`auth_openidc.conf`), located in the `/etc/apache2/mods-available` folder. -Then you can write a rule in Auth0 that would return the `folder` attribute: + + For Windows, you must use the `/apache/conf/httpd.conf` file. + -```javascript lines -function(user, context, callback) { - if (somecondition()) { - user.folder = 'example2'; - } + + - user.folder = 'example'; -} -``` + + In the [Auth0 Dashboard](https://manage.auth0.com/): + + 1. Go to **Applications** > **Applications**, and then select your application from the list. + 2. Switch to the **Settings** view, and then locate the **Application URIs** section. + 3. Add the value of `OIDCRedirectURI` to **Allowed Callback URLs**. + 4. Locate **Advanced Settings** at the bottom of the page. + 5. Switch to the **OAuth** view. + 6. Set **JSON Web Token (JWT) Signature Algorithm** to `RS256`. + + + You can configure Apache to protect a specific location based on the value of a claim in the user's ID token by adding a `Location` block to your `auth_openidc.conf` file. + For example, you could create an Action that reads the user's roles, and then adds a claim that grants access to a protected location: + ```js lines + exports.onExecutePostLogin = async (event, api) => { + const roles = event.authorization.roles; // ['user', 'admin'] + if (roles.includes('admin')) { + api.idToken.setCustomClaim('folder', 'admin'); + } + }; + ``` + + + + **Checkpoint** + Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application. + -Or you could even use an array of folders and the apache module will check if the array contains any of these values +--- -```javascript lines -function(user, context, callback) { - user.folders = []; - if (somecondition()) { - user.folders.push('example2'); - } +## Next Steps - user.folders.push('example'); -} -``` +This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out: -[Edit on GitHub](https://github.com/auth0/docs/edit/master/articles/quickstart/webapp/apache/01-login.md) \ No newline at end of file +- [Auth0 Dashboard](https://manage.auth0.com/) - Learn how to configure and manage your Auth0 tenant and applications +- [Auth0 Marketplace](https://marketplace.auth0.com/) - Discover integrations you can enable to extend Auth0's functionality diff --git a/main/docs/quickstart/webapp/apache/interactive.mdx b/main/docs/quickstart/webapp/apache/interactive.mdx deleted file mode 100644 index 4e72890809..0000000000 --- a/main/docs/quickstart/webapp/apache/interactive.mdx +++ /dev/null @@ -1,117 +0,0 @@ ---- -mode: wide -description: This tutorial demonstrates how to configure Apache to add authentication and authorization to your web app. -title: Apache ---- - -import {AuthCodeGroup} from "/snippets/AuthCodeGroup.jsx"; - -import { Recipe, Content, Section, SideMenu, SideMenuSectionItem, SignUpForm } from "/snippets/recipe.jsx" -import Code1 from "/snippets/quickstart/webapp/apache/code1.mdx" -import Code2 from "/snippets/quickstart/webapp/apache/code2.mdx" - -export const sections = [ - { id: "system-requirements", title: "System Requirements" }, - { id: "install-and-enable-mod-auth-openidc-module", title: "Install and Enable mod_auth_openidc Module" }, - { id: "configure-the-module-with-your-auth0-account-information", title: "Configure the Module with Your Auth0 Account Information" }, - { id: "configure-auth0", title: "Configure Auth0" }, - { id: "authorization", title: "Authorization" } -] - - - - This tutorial demonstrates how to configure Apache to add authentication and authorization to your web app. We recommend that you log in to follow this quickstart with examples configured for your account. - -
- This tutorial and sample project have been tested with the following: - - - Apache 2.4 -
- -
- First, install the `mod_auth_openidc` module for Apache. - - You can get the binaries from [GitHub](https://github.com/zmartzone/mod_auth_openidc/releases) and install them for your OS. If your OS isn't compatible with any of the binaries, you can still [build it from source](https://github.com/zmartzone/mod_auth_openidc/blob/master/INSTALL). - - Once you've installed the module, enable it for Apache with the `a2enmod` command. To learn more, read [a2enmod on Ubuntu Manpage](https://manpages.ubuntu.com/manpages/focal/man8/a2enmod.8.html): - - ```text lines - a2enmod auth_openidc - ``` - - - For Windows, you can use [this Powershell script](https://github.com/enderandpeter/win-a2enmod#installation) to get `a2enmod` working on your system. - -
- -
- Update your new configuration file (`auth_openidc.conf`), located in the `/etc/apache2/mods-available` folder. - - - For Windows, you must use the `/apache/conf/httpd.conf` file. - -
- -
- In the Auth0 Dashboard: - - 1. Go to **Applications** > **Applications**, and then select your application from the list. - 2. Switch to the **Settings** view, and then locate the **Application URIs** section. - 3. Add the value of `OIDCRedirectURI` to **Allowed Callback URLs**. - 4. Locate **Advanced Settings** at the bottom of the page. - 5. Switch to the **OAuth** view. - 6. Set **JSON Web Token (JWT) Signature Algorithm** to `RS256`. -
- -
- You can configure Apache to protect a specific location based on the value of a claim in the user’s ID token by adding a `Location` block to your `auth_openidc.conf` file. - - For example, you could create an Action that reads the user’s roles, and then adds a claim that grants access to a protected location: - - ```js lines - exports.onExecutePostLogin = async (event, api) => { - const roles = event.authorization.roles; // ['user', 'admin'] - if (roles.includes('admin')) { - api.idToken.setCustomClaim('folder', 'admin'); - } - }; - ``` -
- - ## Next Steps - Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application. - - This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out: - - - [Auth0 Dashboard](https://manage.auth0.com/) - Learn how to configure and manage your Auth0 tenant and applications - - - [Auth0 Marketplace](https://marketplace.auth0.com/) - Discover integrations you can enable to extend Auth0’s functionality -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/main/docs/quickstarts.mdx b/main/docs/quickstarts.mdx index d38e2a3f65..313cd31771 100644 --- a/main/docs/quickstarts.mdx +++ b/main/docs/quickstarts.mdx @@ -391,7 +391,7 @@ Traditional web app that runs on the server links: [ { label: "Quickstart", - url: "/docs/quickstart/webapp/apache/interactive", + url: "/docs/quickstart/webapp/apache", }, ], }} From d6290ffbc1f3b20b8a2f8815908b915684d1fbbe Mon Sep 17 00:00:00 2001 From: Amit Singh Date: Thu, 21 May 2026 11:39:03 +0530 Subject: [PATCH 2/5] fix: update apache quickstart path from interactive to index --- main/config/navigation/quickstarts.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/config/navigation/quickstarts.json b/main/config/navigation/quickstarts.json index 461ccc25af..87a612b8fb 100644 --- a/main/config/navigation/quickstarts.json +++ b/main/config/navigation/quickstarts.json @@ -33,7 +33,7 @@ "docs/quickstart/webapp/laravel/interactive", "docs/quickstart/webapp/php/interactive", "docs/quickstart/webapp/nginx-plus/interactive", - "docs/quickstart/webapp/apache/interactive", + "docs/quickstart/webapp/apache/index", "docs/quickstart/webapp/rails/interactive", "docs/quickstart/webapp/hono/index" ] From fbdaad3d83aad3ad97513df931a4a672b00879da Mon Sep 17 00:00:00 2001 From: Amit Singh Date: Fri, 22 May 2026 12:56:03 +0530 Subject: [PATCH 3/5] fix: update link --- main/docs/quickstart/webapp/apache/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/docs/quickstart/webapp/apache/index.mdx b/main/docs/quickstart/webapp/apache/index.mdx index 65250439e8..b73ca870e1 100644 --- a/main/docs/quickstart/webapp/apache/index.mdx +++ b/main/docs/quickstart/webapp/apache/index.mdx @@ -43,7 +43,7 @@ npx skills add auth0/agent-skills --skill auth0-quickstart --skill auth0-apache Add Auth0 authentication to my Apache server ``` -Your AI assistant will automatically create your Auth0 application, fetch credentials, and configure mod_auth_openidc. [Full agent skills documentation →](/quickstart/agent-skills) +Your AI assistant will automatically create your Auth0 application, fetch credentials, and configure mod_auth_openidc. [Full agent skills documentation →](/docs/quickstart/agent-skills) From 9d87f964f33ae328741ac6b18155161b029950b7 Mon Sep 17 00:00:00 2001 From: Amit Singh Date: Fri, 22 May 2026 13:08:02 +0530 Subject: [PATCH 4/5] fix --- main/config/redirects.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/main/config/redirects.json b/main/config/redirects.json index 6e38daaf74..539b820a79 100644 --- a/main/config/redirects.json +++ b/main/config/redirects.json @@ -22298,5 +22298,9 @@ { "source": "/docs/ja-jp/secure/mdl-verification/*", "destination": "/docs/ja-jp/secure" + }, + { + "source": "/docs/quickstart/webapp/apache/interactive", + "destination": "/docs/quickstart/webapp/apache" } ] From 7604b67f9281c0eec82c58dd0303c23ce749bb0b Mon Sep 17 00:00:00 2001 From: Amit Singh Date: Fri, 22 May 2026 14:41:05 +0530 Subject: [PATCH 5/5] chore: trigger CI