diff --git a/apps/dokploy/components/dashboard/application/domains/handle-forward-auth.tsx b/apps/dokploy/components/dashboard/application/domains/handle-forward-auth.tsx index 86bf0a5b4..fc0d8dc43 100644 --- a/apps/dokploy/components/dashboard/application/domains/handle-forward-auth.tsx +++ b/apps/dokploy/components/dashboard/application/domains/handle-forward-auth.tsx @@ -97,12 +97,28 @@ export const HandleForwardAuth = ({ domainId, applicationId }: Props) => { - - The authentication proxy must be deployed for this app's server in SSO - settings. The domain must share its base domain. + +
+ Requirements +
    +
  1. + The authentication proxy container must be deployed and running + on this app's server. Configure it under{" "} + + Settings → SSO → Application Authentication + + . +
  2. +
  3. + This domain must share the same base domain as the + authentication domain (e.g. app.acme.com and{" "} + auth.acme.com). +
  4. +
+
-
+
Protect this domain with SSO diff --git a/apps/dokploy/components/proprietary/sso/forward-auth-servers.tsx b/apps/dokploy/components/proprietary/sso/forward-auth-servers.tsx index 52ce92a37..50e9377ce 100644 --- a/apps/dokploy/components/proprietary/sso/forward-auth-servers.tsx +++ b/apps/dokploy/components/proprietary/sso/forward-auth-servers.tsx @@ -10,6 +10,7 @@ import { } from "lucide-react"; import { useEffect, useState } from "react"; import { toast } from "sonner"; +import { DnsHelperModal } from "@/components/dashboard/application/domains/dns-helper-modal"; import { AlertBlock } from "@/components/shared/alert-block"; import { DialogAction } from "@/components/shared/dialog-action"; import { Badge } from "@/components/ui/badge"; @@ -61,6 +62,7 @@ export const ForwardAuthServers = () => { return () => clearTimeout(id); }, []); + const { data: hostIp } = api.settings.getIp.useQuery(); const { data: servers, isPending } = api.forwardAuth.serverStatus.useQuery( undefined, { enabled, refetchOnWindowFocus: false, staleTime: 30_000 }, @@ -236,6 +238,10 @@ export const ForwardAuthServers = () => { domain (e.g. auth.acme.com) per server, register its callback URL once in your identity provider, then deploy the proxy. Apps on that server under the same base domain are then one click to protect. + + Only OIDC providers are supported — SAML is not compatible with the + forward-auth proxy. + @@ -289,6 +295,17 @@ export const ForwardAuthServers = () => { } className="font-mono text-sm" /> + {f?.host && !f.host.includes("sslip.io") && ( + + )}