Code Fix: Using OOTB identity versus sync legacy identity does not give the exact same FQN

  • 8 October 2021
  • 0 replies
  • 20 views

Issue Description

When you use OOTB identity versus sync legacy identity, the exact same FQN format is not given when you set the provider ID to UserPrincipalName and Name to SamAccountName.

OOTB would have the FQN as Label:UserPrincipalName whereas legacy sync would use the provider name to set the FQN giving you Label:SamAccountName

Considerations

Once the Fix Pack is installed the following SQL scripts steps need to completed in SQL Management Studio

 

Step 1

Set @ProviderName to the one created, then execute to get the ProviderInstanceID

A provider can have more than one instance so one would need to know which one to choose when there is more than one result or encase both needs to be added step 2 needs to be performed for each.

(Copy and paste below into new query for SQL against K2 DB)

 

DECLARE @ProviderName NVARCHAR(20) = 'K2LDAP';

select [P].[Name], [PI].ID as [ProviderInstanceID] from [K2].[SyncEngine].[Provider] as P

join [K2].[SyncEngine].[ProviderInstance] as [PI]

on P.ID = PI.ProviderID

WHERE [P].[Name] = @ProviderName

  --DECLARE @PName NVARCHAR(20) = 'K2LDAP';

 

STEP 2

(Copy and paste below into new query for SQL against K2 DB)

 

--Update @ProviderInstanceID with ID result from step 1 and execute the insert with it

--SyncEngine ProviderInstanceRuntimeConfig has configs per Provider Instance

 

DECLARE @ProviderInstanceID NUMERIC(3,0) = 6;

INSERT INTO [SyncEngine].[ProviderInstanceRuntimeConfig]

           ([ProviderInstanceID]

           ,[ConfigKey]

           ,[ConfigValue])

VALUES

           (@ProviderInstanceID

           ,'UseLegacyPropertyBehavior'

           ,'True')

 

STEP 3

(Copy and paste below into new query for SQL against K2 DB)

 

--Set @ProviderNames separated with ; for all the Provider labels that needs to run with new changes

--example: K2LDAP or for multiple K2LDAP;K2LDAP2;TEST

--SyncEngine RepositoryConfig is a global config and thus all Providers get added to one config setting

 

DECLARE @ProviderNames NVARCHAR(20) = 'K2LDAP';

INSERT INTO [SyncEngine].[RepositoryConfig]

           ([ID]

           ,[ConfigKey]

           ,[ConfigValue])

     VALUES

           ('579E84D3-758B-42F6-A6DB-AB1BD63C0296'

           ,'ProvidersLegacyPropertyBehavior'

           ,@ProviderNames)

 

STEP 4

Restart K2 server

Run  System > Sync Service > Operation > Start Sync again

Provider Name: K2LDAP

 

Run the UMUser > Get Users to see the being returned, the format for FQN will be K2LDAP:bob@denallix.com

 

Run the UMUser > Get User Details for K2LDAP:bob@denallix.com

 

Resolution

The fix is available in:

  • K2 Five (5.3) November 2020 Cumulative Update Fix Pack 03.
  • K2 Five (5.4) November 2021 Cumulative Update Fix Pack 06.
  • K2 Five (5.5) Fix Pack 05.

 

  1. Ensure you have the correct K2 version and/or Cumulative update installed. See KB001893 to see what Fix Pack level you have installed.
  2. Download the latest Fix Pack using the links in the table above for the version you require.
  3. Install the Fix Pack to apply the fix.
  4. It is recommended to clear browser cache and refresh the page.

0 replies

Be the first to reply!

Reply