Authentication¶
Pixee Enterprise Server supports multiple authentication providers. This section covers configuration for all supported authentication methods.
Info
Support for OIDC compatible identity providers is in active development, contact support@pixee.ai to request additional support.
Embedded Identity Provider (Authentik)¶
Pixee Enterprise Server includes Authentik as an embedded identity provider. This provides a full-featured identity management solution without requiring an external OIDC provider.
Features¶
- User management with web-based admin interface
- Support for local users and passwords
- Federation with external identity providers (Google Workspace, Oracle, etc.)
- Self-service password change
- Session management
- Pixee-branded login experience
No Email / SMTP Support
The embedded Authentik deployment does not have SMTP configured. This means email-based features such as self-service password reset, email verification, and notification emails are not available. Password resets must be performed by an administrator through the Authentik admin interface or by using the recovery key command described below.
Configuration¶
To enable Authentik in Embedded Cluster deployments:
- Navigate to the admin console, select the
Configtab, then go to theBasic Settingssection - Under
Authentication mode, select "Authentik" - Save and deploy the configuration
After deployment, Authentik will automatically initialize with the Pixee OIDC application pre-configured. The default admin credentials are displayed in the config page.
To enable Authentik in Helm deployments, set the following in your values.yaml:
authentik:
enabled: true
pixee:
clientSecret: "<generate a secure random string>"
authentik:
secret_key: "<generate a secure random string - must not change after install>"
bootstrap:
password: "<initial admin password for akadmin user>"
postgresql:
host: "<postgresql-host>"
name: "authentik"
user: "authentik"
password: "<database-password>"
redis:
host: "<redis-host>"
port: 6379
global:
pixee:
access:
enabled: true
oidc:
client:
id: "pixee"
secret: "<same as authentik.pixee.clientSecret above>"
redirectUri: "https://<your-domain>/api/auth/callback"
Initial Setup¶
After deploying with Authentik enabled:
-
Access the admin interface by navigating to:
https://<your-domain>/authentik/Log in with username
akadminand the password shown in the admin console config page (your license ID). After logging in, click the Admin interface button to access user management. -
Change the admin password (recommended) - Navigate to Directory > Users, select
akadmin, and update the password. This change will persist across upgrades. -
Create additional users as needed through the Authentik admin interface
-
Find the admin password in your
values.yamlunderauthentik.authentik.bootstrap_password -
Access the admin interface by navigating to:
https://<your-domain>/authentik/Log in with username
akadminand the configured password, then click the Admin interface button. -
Create additional users as needed through the Authentik admin interface
Recovery Access
If you need to reset a user's password, the easiest way is to create a recovery link from the Authentik admin UI:
- Navigate to Directory → Users and select the user
- Click Create Recovery Link — you can set how long the link stays valid (default: 30 minutes)
- Send the link to the user; they will be prompted to set a new password
As a CLI fallback, you can generate a recovery link via kubectl:
kubectl exec -n <namespace> deploy/<release-name>-authentik-server -- ak create_recovery_key 30 akadmin
This generates a recovery URL valid for 30 minutes.
Upgrades and Persistence
- User accounts, passwords, and settings are stored in the Authentik database and persist across upgrades
- Password changes made by users or admins will not be overwritten during upgrades
- The OIDC application configuration is managed declaratively and will be updated automatically during upgrades
User Management¶
Users are managed through the Authentik admin interface at https://<your-domain>/authentik/if/admin/.
Creating Users¶
- In the admin interface, go to Directory → Users and click Create
- Fill in the user's details (username, display name, email) and click Create
- After creating the user, select them and click Create Recovery Link to generate a one-time password setup link — you can choose how long the link stays valid
- Send the recovery link to the user; they will be prompted to set their password on first visit
For more details, see the Authentik documentation on creating users and creating recovery links.
Editing and Deleting Users¶
- Go to Directory → Users, select a user, and update their details or deactivate their account
- Users created here can log in to Pixee Enterprise Server
Federating External Identity Providers¶
Authentik supports federating external identity providers so users can log in with their existing corporate credentials. After creating a source for your identity provider (see provider-specific sections below), you must add it to the login page.
Adding a Source to the Login Page¶
This step is the same for all federated identity providers. After creating a source in Authentik:
- In the Authentik admin interface, go to Flows and Stages → Flows
- Click on default-authentication-flow
- Go to the Stage Bindings tab
- Click Edit Stage on the default-authentication-identification stage
- Under Source settings, add your identity provider source to the Selected sources field
- Click Update to save
Users will now see the identity provider as a login option on the Authentik login page.
Google Workspace (SAML)¶
Pixee Enterprise Server supports Google Workspace as an external identity provider using SAML.
Step 1: Create a SAML App in Google Workspace¶
- Go to Google Admin Console (
admin.google.com) → Apps → Web and mobile apps → Add app → Add custom SAML app - Enter a name (e.g.,
Pixee Enterprise Server) and click Continue - Copy the SSO URL and Certificate from Google — you will need these for the Authentik source configuration
-
Under Service Provider Details, set:
- ACS URL:
https://<your-domain>/authentik/source/saml/google/acs/ - Entity ID:
https://<your-domain>/authentik/source/saml/google/metadata - Name ID format:
EMAIL - Name ID:
Basic Information > Primary email
- ACS URL:
-
Check the Signed response checkbox
- Click Continue, then Finish
Enable the app for users
By default, new SAML apps in Google Workspace are OFF for everyone. You must turn it on:
- Click on the newly created app
- Click User access
- Set the service status to ON for everyone (or for the appropriate organizational units)
- Click Save
Step 2: Create a SAML Source in Authentik¶
Follow the Authentik documentation for Google Workspace SAML integration to create a SAML source using the SSO URL and Certificate from Step 1.
- In the Authentik admin interface, go to Directory → Federation and Social login → Create → SAML Source
- Set the Name (e.g.,
Google Workspace) and Slug (e.g.,google) - Set the Icon field to
/static/authentik/sources/google.svgso the Google logo appears on the login page - Set the SSO URL to the value copied from Google (e.g.,
https://accounts.google.com/o/saml2/idp?idpid=<your-idp-id>) - Set the Binding Type to Redirect (required for auto-redirect to work)
- Upload the Signing Certificate downloaded from Google
After creating the source, add it to the login page.
Troubleshooting¶
403 app_not_configured_for_user: This means either the Entity ID doesn't match or the app isn't enabled for the user. Verify that the Entity ID in Google Admin Console exactly matches the Authentik metadata URL (case-sensitive), and that the app is turned ON for the user's organizational unit.No Signature exists in the Response element: Enable the Signed response checkbox in the Google Admin Console SAML app under Service Provider Details.- "Permission denied" on login: Verify the Pixee application in Authentik is linked to the
pixeeprovider. Check Applications > Pixee Enterprise Server > Provider assignment.
Oracle Identity Domains (OAuth)¶
Pixee Enterprise Server supports Oracle Identity Domains as an external identity provider using OAuth/OIDC.
Step 1: Create a Confidential Application in Oracle¶
- Go to OCI Console > Identity & Security > Domains and select your domain
- Navigate to Integrated applications > Add application > Confidential Application
- Enter a name (e.g.,
Pixee Enterprise Server) and click Next - Under Client configuration, check "Configure this application as a client now"
- Set Allowed Grant Types to Authorization Code
-
Set Redirect URL to:
https://<your-domain>/authentik/source/oauth/callback/oracle/ -
Leave Token issuance policy set to All
- Click Finish, then Activate the application
- Copy the Client ID and Client Secret
Warning
Do not register Authentik as a Social Identity Provider in Oracle. Oracle should handle password authentication directly.
Step 2: Configure Authentik Federation¶
Follow the Authentik documentation for creating an OAuth Source using the OpenID Connect type.
When configuring the source, use the Client ID and Client Secret from Step 1. Your Oracle OIDC endpoint URLs follow this pattern (replace <your-idcs-instance> with your domain identifier):
- Authorization URL:
https://<your-idcs-instance>.identity.oraclecloud.com/oauth2/v1/authorize - Access token URL:
https://<your-idcs-instance>.identity.oraclecloud.com/oauth2/v1/token - Profile URL:
https://<your-idcs-instance>.identity.oraclecloud.com/oauth2/v1/userinfo
You can find these values in your Oracle OIDC discovery document at https://<your-idcs-instance>.identity.oraclecloud.com/.well-known/openid-configuration.
Note
All three endpoint URLs must be set explicitly on the source. Do not rely solely on the OIDC Well-known URL to auto-populate them.
After creating the source, add it to the login page.
Troubleshooting¶
- "Permission denied" on login: Verify the Pixee application in Authentik is linked to the
pixeeprovider. Check Applications > Pixee Enterprise Server > Provider assignment. - Redirect loop on Oracle login: Ensure the Authorization, Token, and Profile URLs are all explicitly set on the Oracle source. If any are blank, the redirect loops back to Authentik.
- Oracle shows Authentik login button: Remove any Social Identity Provider entries for Authentik from Oracle under Security > Identity providers.
Auto-Redirect to Identity Provider¶
By default, when a federated identity provider is added as a source, users see the Authentik login page with both username/password fields and the identity provider button. To skip this page and redirect users directly to the identity provider, configure the identification stage to auto-redirect:
- In the Authentik admin interface, go to Flows and Stages → Stages
- Edit default-authentication-identification
- Under User fields, deselect all fields (remove Username, Email, etc.)
- Under Sources, ensure only the identity provider source is selected
- Ensure the Passwordless flow field is not set (empty/none) — auto-redirect only works when this is unset
- Click Update to save
With no user fields and exactly one source configured, Authentik automatically redirects users to the identity provider without showing the login page.
SAML Binding Type
For SAML sources, ensure the Binding Type on the source is set to Redirect rather than POST. With Redirect binding, Authentik performs a direct HTTP 302 to the identity provider. POST binding requires an intermediate page to submit the SAML request form.
Multiple Identity Providers
If more than one source is configured on the identification stage, auto-redirect is disabled and users will see a source selection page instead.
Direct Login for Administrators¶
When auto-redirect is enabled, administrators who need to log in with username/password (e.g., the akadmin account) can no longer use the default login page. Create a separate authentication flow for direct login:
Create an Identification Stage¶
- Go to Flows and Stages → Stages → Create
- Select Identification as the stage type
- Configure:
- Name:
direct-authentication-identification - User fields: select Username
- Sources: leave empty (no identity provider buttons)
- Password stage: select
default-authentication-password(embeds the password field on the same page)
- Name:
- Click Create
Create the Direct Authentication Flow¶
- Go to Flows and Stages → Flows → Create
- Configure:
- Name:
Direct Authentication Flow - Slug:
direct-authentication-flow - Designation: Authentication
- Required authentication level: Require no authentication
- Name:
- Click Create
Bind Stages to the Flow¶
- Click on the direct-authentication-flow flow to open it
- Go to the Stage Bindings tab
-
Click Bind Stage and add the following bindings:
Order Stage 10 direct-authentication-identification30 default-authentication-mfa-validation100 default-authentication-loginNote
The
default-authentication-passwordstage is not bound separately because it is already embedded in the identification stage (configured above). Adding it as a separate binding would prompt for the password twice. -
Administrators can now log in directly at:
https://<your-domain>/authentik/if/flow/direct-authentication-flow/
Google Authentication¶
Pixee Enterprise Server supports Google authentication using OAuth 2.0.
Configuration¶
You must set up a new OAuth client and retrieve the client ID and client secret. See the Google Cloud Console documentation for more information on creating a new OAuth 2.0 Client ID.
To configure Google authentication in Embedded Cluster deployments follow:
Navigate to the admin console, select the Config tab, then go to the Basic Settings section.
Under Authentication mode, select Google as the provider and provide a client ID and client secret.
To configure Google authentication in Helm Deployment follow:
To enable Google authentication, set the following in your values.yaml:
global:
pixee:
access:
oidc:
client:
provider: google
id: '<your Google oidc client id>'
secret: '<your Google oidc client secret>'
Microsoft Entra Authentication¶
Pixee Enterprise Server supports Microsoft Entra authentication with single tenant applications.
Create an App Registration¶
In order to set up OIDC for Microsoft you need to go to your Microsoft Azure Portal,
and search for Microsoft Entra ID. Select Microsoft Entra ID under Services.
Look for Manage on the left navigation bar, click on App registrations then click on New registration:

Fill in your application name, select the Single tenant option and add a Web Redirect URI as https://<domain>/api/auth/login, then click on Register:
Retrieve App Registration Details¶
After creating the app registration, you will be redirected to the app's overview page. On this page you will find:
- Application (client) ID: Save this ID, which you will use as the
ClientIDin your Pixee configuration.
Then navigate to Certificates & secrets in the left navigation bar, and click on New client secret to create a new secret:

Client Secret: After creating the client secret, copy the value immediately as it will not be shown again. This value will be used as the ClientSecret in your Pixee configuration:

Authority URL: can be obtained from the "Endpoints" section of the App Registration:

To configure Microsoft Entra authentication in Embedded Cluster deployments follow:
Navigate to the admin console, select the Config tab, then go to the Basic Settings section.
Under Authentication mode, select Microsoft Entra as the provider and provide a client ID, client secret, and authority URL.

To configure Microsoft Entra authentication in Helm Deployment follow:
To enable Microsoft authentication, set the following in your values.yaml:
global:
pixee:
access:
oidc:
client:
provider: microsoft
id: '<your Microsoft oidc client id>'
secret: '<your Microsoft oidc client secret>'
authServerUrl: '<your Microsoft oidc auth server url, such as https://login.microsoftonline.com/{tenant_id}>'
Okta Authentication¶
Pixee Enterprise Server supports Okta OIDC authentication.
Configuration¶
You must create a new OIDC App Integration from the Okta Admin Console and retrieve the client ID, client secret, and Okta URL:
- Log in to the Okta Admin Console as an administrator.
- Navigate to Applications > Applications > Add App Integration.
- Select OIDC - OpenID Connect, set Application Type to Web Application, and then click Next.
- Configure the following required settings:
- App Integration Name: pixee
- Sign-in redirect URIs: https://< domain >/api/auth/login
- Under Assignments, select how you'd like to control access to Pixee. Allow everyone in your organization to access or select a group to limit access.
- Click Save.
- Under Client Credentials, take note of the Client ID. This value will be required in the Pixee Admin Console.
- Under CLIENT SECRETS, click the Copy to clipboard next to the secret and take note of the value, it will also be required in the Pixee Admin Console.
The Okta URL is of the form https://{tenant-name}.okta.com. You can verify this is correct by viewing the well-known OpenID Connect configuration at https://{tenant-name}.okta.com/.well-known/openid-configuration.
To configure Okta authentication in Embedded Cluster deployments follow:
Navigate to the admin console, select the Config tab, then go to the Basic Settings section.
Under Authentication mode, select Okta as the provider and provide a client ID, client secret, and Okta URL.
To configure Okta authentication in Helm Deployment follow:
To enable Okta authentication, set the following in your values.yaml:
global:
pixee:
access:
oidc:
client:
provider: okta
id: '<your Okta oidc client id>'
secret: '<your Okta oidc client secret>'
authServerUrl: '<your Okta oidc auth server url, such as https://{tenant-name}.okta.com>'


