Integrate with XCreds
Support level: Community
What is XCreds
Xcreds is an open source project for synchronizing IdP passwords with macOS login passwords. Xcreds replaces the macOS login window to provide authentication to the cloud provider; a user enters their cloud password for authentication and Xcreds keeps the local Mac password synchronized with the cloud password.
This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application.
authentik configuration
To support the integration of XCreds with authentik, you need to create an application/provider pair in authentik.
Create an application and provider in authentik
-
Log in to authentik as an admin, and open the authentik Admin interface.
-
Navigate to Applications > Applications and click Create with Provider to create an application and provider pair. (Alternatively you can first create a provider separately, then create the application and connect it with the provider.)
- Application: provide a descriptive name, an optional group for the type of application, the policy engine mode, and optional UI settings.
- Choose a Provider type: select OAuth2/OpenID Connect as the provider type.
- Configure the Provider: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and the following required configurations.
- Note the Client ID, and Client Secret values because they will be required later.
- Set a
Strict
redirect URI tohttps://127.0.0.1/xcreds
- Configure Bindings (optional): you can create a binding (policy, group, or user) to manage the listing and access to applications on a user's My applications page.
-
Click Submit to save the new application and provider.
Copy OpenID configuration URL
- Log in to authentik as an admin, and open the authentik Admin interface.
- Navigate to Applications > Providers and click on the name of the newly created XCreds provider.
- Copy the OpenID Configuration URL. This will be required to configure XCreds in the next section.
XCreds configuration
After XCreds is installed on a target Mac you will need to configure it by creating, installing, and applying a profile. More information can be found in the XCreds Admin Guide.
ProfileCreator
ProfileCreator is an open source macOS application used to create configuration policies. It is required to create a configuration policy for XCreds.
-
Open the ProfileCreator application and click on the
+
icon in the top left corner to create a new configuration policy:- Under General provide a descriptive Payload Display Name, Payload Description, and Payload Organization.
-
Now you need to add a XCreds payload to the configuration policy. Click on the Application Managed Preferences icon in the left hand column that looks like an
A
(third icon from the left, in the left hand column). -
Select XCreds in the list and click the Add button in the top right corner of the screen.
-
Under Disabled Keys click the
+
icon next to the following keys and set the required configurations:- Client ID: the authentik Client ID
- Client Secret: the authentik Client Secret
- Discovery URL: the authentik OpenID configuration URL
- Redirect URI:
https://127.0.0.1/xcreds
-
Click on the Export Profile icon at the top left of the screen and set the following required configurations:
- Platform:
macOS
- Scope:
System
- Payload Content Type:
Profile
- Platform:
-
Click Save.
Install the profile to the target Mac
Next, you need to install the created profile on the target Mac.
- Log in to the Mac and navigate to System Settings > General > Device Management.
- Under Device, click the
+
icon. - Select the profile that was created in the previous section.
- Click Continue, Install and enter the device password.
Configuration verification
To confirm that authentik is properly configured with XCreds on the target Mac, log out and log back in via the XCreds/authentik login screen.
If you need to log into a local account on the Mac, you can click on the Mac Login Window button.