Documentation Index
Fetch the complete documentation index at: https://docs.polystack.tech/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Federation allows enterprise users to authenticate with Polystack using their existing corporate identity provider (IdP) — no separate Polystack password required. Polystack Identity supports SAML 2.0 and OpenID Connect (OIDC) protocols. Users authenticate at the IdP and receive Polystack tokens mapped from their IdP attributes, inheriting project membership and roles through attribute mapping rules.Federation Architecture
SAML 2.0 Setup
Register Polystack as SP in your IdP
Provide your IdP with the Polystack SAML SP metadata URL:Configure the IdP to send the following SAML attributes:
ADFS_LOGINormail— the user’s login namememberOf— group membership for role mapping
Create attribute mapping rules
Mapping rules translate IdP attributes into Polystack group memberships:
mapping-rules.json
Upload mapping rules
OpenID Connect Setup
Register Polystack as OIDC client in your IdP
Register a new application in your OIDC provider (Keycloak, Azure AD, Okta):
- Redirect URI:
https://api.<your-domain>:5000/v3/OS-FEDERATION/identity_providers/<IDP_ID>/protocols/openid/auth/callback - Grant type: Authorization Code
- Scopes:
openid,profile,email,groups
Mapping Rule Reference
| Mapping Field | Description |
|---|---|
local.user.name | Maps to the Polystack username for the federated session |
local.group.id | Assigns the user to an Polystack group (inherits group’s role assignments) |
remote.type | The IdP attribute name to match |
remote.any_one_of | User must belong to at least one of these values |
remote.not_any_of | User must not belong to any of these values |
Next Steps
Authentication Backends
Compare federation with LDAP and SQL backend options.
Domain Management
Assign federation backends to specific organizational domains.
Security Hardening
Secure federation endpoints and enforce MFA for federated sessions.
Admin Troubleshooting
Debug SAML assertion errors and OIDC token mapping failures.
