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 guide covers OIDC login for XCreds using an XCreds configuration profile. Device deployment, licensing, password synchronization behavior, and other XCreds management settings are outside the scope of this integration guide.
Preparation
The following placeholders are used in this guide:
authentik.companyis the FQDN of the authentik installation.
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 administrator and open the authentik Admin interface.
-
Navigate to Applications > Applications and click New Application to open the application wizard.
- 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
Strictredirect URI tohttps://127.0.0.1/xcreds. - Select any available signing key.
- Under Advanced protocol settings, add
authentik default OAuth Mapping: OpenID 'offline_access'to Selected Scopes.
- Configure Bindings (optional): you can create a binding (policy, group, or user) to manage the listing and access to applications on a user's Application Dashboard page.
-
Click Submit to save the new application and provider.
Copy OpenID configuration URL
- Log in to authentik as an administrator 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, configure it by creating, installing, and applying a configuration profile. For more information, refer to the XCreds Admin Guide.
ProfileCreator
ProfileCreator is an open source macOS application used to create configuration profiles. It can create a configuration profile for XCreds.
-
Open the ProfileCreator application and click on the
+icon in the top-left corner to create a new configuration profile:- Under General provide a descriptive Payload Display Name, Payload Description, and Payload Organization.
-
Click the Application Managed Preferences icon in the left-hand column that looks like an
A. -
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 Client ID from authentik
- Client Secret: the Client Secret from authentik
- Discovery URL: the OpenID Configuration URL from authentik
- Redirect URI:
https://127.0.0.1/xcreds
-
Click on the Export Profile icon at the top-left corner 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, open the XCreds login window, and log back in via authentik.
If you need to log in to a local account on the Mac, you can click on the Mac Login Window button.