Identity Provider
- Elaine Foley
Instead of only using the Picturepark IDS, you can connect an OpenID Provider, which will serve as an Identity Provider to the Picturepark IDS. The selected Identity Provider (IdP) must support the standardized Open ID Connect protocol, which itself allows a flexible implementation that varies in required metadata or ACR values.
Choose Identity Provider
The user opens Picturepark by providing the Picturepark URL. They choose to log in with Picturepark IDS credentials by providing an email and password (1). This will authenticate the user with Picturepark IDS as Identity Provider. If configured, they can also choose another external identity provider (2) that will handle the authentication.
In the Customer Default Settings, you can set the accent color for the IdP.
Create Identity Provider
You can configure one or many external Identity Providers for authentication.
Prerequisites
ADFS setup (See How To setup ADFS on Windows Server 2016 here)
Your user must have Developer permission in the Picturepark configuration to see this menu.
Your user role must have permission to manage Identity Provider.
Setup
Adding an external Identity Provider in Picturepark means adding it to the Picturepark IDS.
Open Settings > IdP setup.
In the list, choose Create new identity provider.
Enter the details.
Save.
Newly created IdP's or changes made to existing ones could take around a minute to take effect.
Settings
Setting | Value Example | Description |
Name | PictureparkADFSWinServer2016 | A meaningful name that is used as a reference, it cannot be changed afterward. |
Display name | Picturepark AD | Something users can relate to, which is shown to the users next to "Continue with" |
Type | ADFS |
|
Connection protocol | OpenID Connect | IdP must support OpenID Connect. |
URL | The Endpoint for OpenID with https.
Do not use the /ls endpoint. If your ADFS URL is https://adfs02.domain.com/adfs/ls then use the URL without /ls: https://adfs5684.domain.com/adfs. | |
Client ID | Application ID e.g. 9df5684-1f10f-4125684-7feb535684 | The ID of your application: |
Client secret | GBAyfVL7YWtP6gudLIjbRZV_N0dW4f3x | This is not needed. You can leave this empty. The authentication flow is the definition of how the tokens to identify users are exchanged. Picturepark external Identity Provider must support Authorization Code Flow with PKCE. PKCE, pronounced “pixy” is an acronym for Proof Key for Code Exchange, which does not require users to provide a client_secret. The standard Authorization Code flow would require this. The main benefit is the reduced risk for native apps, as there are no embedded secrets in the source code and this in return limits exposure to reverse engineering. If the Identity Provider does not support Authorization Code Flow with PKCE, the Client secret can be used. Then the client secret must match the applications client secret. |
Sort order | 0 | A number, starting from 0 for the first position, and 1 as the second position. |
After Creating the Identity Provider
Create Identity Provider (Claim) Mappings
You can configure claim mappings and group mappings for your external Identity Provider.
Prerequisites
Create Claim Mappings
Open Settings > IdP Settings.
You will see a setting entry for your new Identity Provider in the list. Double-click to open it.
On the right side, in the first tab, you can add the claim mapping:
Add claim mapping.
Provide the claim name from your AD, which holds the user attributes e.g., company, telephone number. Ensure the correct spelling!
Map to Picturepark user attributes.
On the right side in the second tab, you can add the group mapping:
Add group mappings.
Provide the claim name (issued claims) from your AD, which holds your user group assignments, e.g., Groups. Ensure the spelling is correct!
Define a Fallback user role. The fallback user role of the IdP will only be used if none of the group mappings find a matching role or the default user role is not defined for the Picturepark. This cannot be Super Admins.
Map Group names from your AD to user roles in Picturepark.
Without group mappings your users will be able to login to Picturepark but will either have only the default role or fallback user role of your Picturepark assigned (if these are configured), or will not have any access. Be aware that you can also manually add roles to federated users in Picturepark.
Automatic Claim Mappings
The following attributes are mapped automatically in CP (if not overridden by a claim mapping).
Further information about claims here: https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/technical-reference/the-role-of-claims
User attribute | Claim types (first to have a value wins) |
email, that will be used as a username in Picturepark (mandatory). | |
sub | User identifier of the user within the IdP (mandatory; provided by ADFS in basic configuration). |
First name | given_name |
Last name | family_name |
Language code |
locale |
After Creating Identity Provider Mappings
Update Identity Provider
Open Settings > IdP setup.
In the list, choose your desired Identity Provider.
Edit the details.
You cannot update the name, only the display name.
Save.
Effects of Updating Identity Provider
Users cannot log in when their assigned Identity Provider is disabled.
The display name will be updated on the login screen.
The protocol cannot be changed.
If you change the URL, your users' login requests will, from now on, be sent to the new URL.
If you change the client ID, your users' login requests will, from now on, contain the new client ID, so you must ensure to have a working IdP with this client ID available.
Changes to the Client secret have no effect if authorization code flow with PKCE is used; otherwise, the client secret must match with the application.
Changing the sort order will change the sort order of the buttons on the login form, where 0 is the first position.
Delete Identity Provider
Open Settings > IdP setup.
In the list, delete your Identity Provider.
Before deleting Identity Provider
Open Users.
Switch Search Mode to Advanced.
Search for all users which have the Identity Provider assigned
identityProviderId:<id>Update those users, as otherwise, they can no longer log in to Picturepark.
Effects of deleting Identity Provider
The users who were using this Identity Provider can no longer log in.
No default or fallback Identity Provider will be assigned.