git.iko.soy/typeable/oauth2-proxy
on master help sign in
docs: add Cisco Duo SSO provider documentation (#3306)

* docs: add Cisco Duo SSO provider documentation Signed-off-by: Jan Larwig <jan@larwig.com> * doc: backport to versioned docs 7.13 and fix alphabetical order of entries Signed-off-by: Jan Larwig <jan@larwig.com> * doc: improved clarity for the cisco duo configuration steps Signed-off-by: Jan Larwig <jan@larwig.com> --------- Signed-off-by: Jan Larwig <jan@larwig.com> Co-authored-by: Jan Larwig <jan@larwig.com>

commita8e208430e728784b4b7f44d140d7b66b5b26167 authorShriya Kamat Tarcar <73349138+shri3016@users.noreply.github.com> dateThu 15 Jan 2026, 02:47 (9 months ago) parenta2f2223
6 files changed+94
docs/docs/configuration/providers/cisco_duo.md+44 docs/docs/configuration/providers/index.md+1 docs/sidebars.js+2 docs/versioned_docs/version-7.13.x/configuration/providers/cisco_duo.md+44 docs/versioned_docs/version-7.13.x/configuration/providers/index.md+1 docs/versioned_sidebars/version-7.13.x-sidebars.json+2
docs/docs/configuration/providers/cisco_duo.mdnew file+44
@@ -0,0 +1,44 @@
1+---
2+id: cisco_duo
3+title: Cisco Duo
4+---
5+
6+Cisco Duo SSO can be configured with OAuth2 Proxy using the OIDC provider.
7+
8+1. Create a new **Generic OIDC Relying Party - Single Sign-On** application in the Duo Admin Portal
9+2. Configure OAuth2 Proxy with the following options:
10+
11+```
12+provider = "oidc"
13+provider_display_name = "Duo SSO"
14+scope = "openid email profile"
15+pass_access_token = true
16+code_challenge_method = "S256"
17+```
18+
19+3. Configure Provider endpoints. Copy the following values from the corresponding fields in the Duo Admin Portal:
20+
21+```
22+# Copy from "Client ID" field
23+client_id = "XXXXXXXX"
24+
25+# Copy from "Client Secret" field
26+client_secret = "XXXXXXXX"
27+
28+# Copy from "Issuer" field
29+oidc_issuer_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx"
30+
31+# Copy from "JWKS URL" field
32+oidc_jwks_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/jwks"
33+
34+# Copy from "Token Introspection URL" field
35+validate_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/token_introspection"
36+
37+# Copy from "UserInfo" field
38+profile_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/userinfo"
39+
40+# Copy from "Token URL" field
41+redeem_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/token"
42+```
43+
44+4. Complete Configuration by filling in any remaining required fields and save your configuration.
docs/docs/configuration/providers/index.md+1
@@ -11,6 +11,7 @@ Valid providers are :
1111- [ADFS](adfs.md)
1212- [Bitbucket](bitbucket.md)
1313- [Cidaas](cidaas.md)
14+- [CiscoDuo](cisco_duo.md)
1415- [DigitalOcean](digitalocean.md)
1516- [Facebook](facebook.md)
1617- [Gitea](gitea.md)
docs/sidebars.js+2
@@ -34,6 +34,8 @@ const sidebars = {
3434 "configuration/providers/adfs",
3535 "configuration/providers/azure",
3636 "configuration/providers/bitbucket",
37+ "configuration/providers/cidaas",
38+ "configuration/providers/cisco_duo",
3739 "configuration/providers/digitalocean",
3840 "configuration/providers/facebook",
3941 "configuration/providers/gitea",
docs/versioned_docs/version-7.13.x/configuration/providers/cisco_duo.mdnew file+44
@@ -0,0 +1,44 @@
1+---
2+id: cisco_duo
3+title: Cisco Duo
4+---
5+
6+Cisco Duo SSO can be configured with OAuth2 Proxy using the OIDC provider.
7+
8+1. Create a new **Generic OIDC Relying Party - Single Sign-On** application in the Duo Admin Portal
9+2. Configure OAuth2 Proxy with the following options:
10+
11+```
12+provider = "oidc"
13+provider_display_name = "Duo SSO"
14+scope = "openid email profile"
15+pass_access_token = true
16+code_challenge_method = "S256"
17+```
18+
19+3. Configure Provider endpoints. Copy the following values from the corresponding fields in the Duo Admin Portal:
20+
21+```
22+# Copy from "Client ID" field
23+client_id = "XXXXXXXX"
24+
25+# Copy from "Client Secret" field
26+client_secret = "XXXXXXXX"
27+
28+# Copy from "Issuer" field
29+oidc_issuer_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx"
30+
31+# Copy from "JWKS URL" field
32+oidc_jwks_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/jwks"
33+
34+# Copy from "Token Introspection URL" field
35+validate_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/token_introspection"
36+
37+# Copy from "UserInfo" field
38+profile_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/userinfo"
39+
40+# Copy from "Token URL" field
41+redeem_url = "https://sso-xxxxxxxx.sso.duosecurity.com/oidc/xxxxxxxx/token"
42+```
43+
44+4. Complete Configuration by filling in any remaining required fields and save your configuration.
docs/versioned_docs/version-7.13.x/configuration/providers/index.md+1
@@ -11,6 +11,7 @@ Valid providers are :
1111- [ADFS](adfs.md)
1212- [Bitbucket](bitbucket.md)
1313- [Cidaas](cidaas.md)
14+- [CiscoDuo](cisco_duo.md)
1415- [DigitalOcean](digitalocean.md)
1516- [Facebook](facebook.md)
1617- [Gitea](gitea.md)
docs/versioned_sidebars/version-7.13.x-sidebars.json+2
@@ -34,6 +34,8 @@
3434 "configuration/providers/adfs",
3535 "configuration/providers/azure",
3636 "configuration/providers/bitbucket",
37+ "configuration/providers/cidaas",
38+ "configuration/providers/cisco_duo",
3739 "configuration/providers/digitalocean",
3840 "configuration/providers/facebook",
3941 "configuration/providers/gitea",