Code Fix: Navigating to a K2 Application from any SharePoint list or library may result in a user being logged out
KB002910
PRODUCT
Issue Description
When K2 Forms STS is enabled and a user token has expired, you may be logged out in the background and unable to access the K2 Application.
Resolution
- Ensure you have K2 4.7 installed.
- Download and Install the K2 4.7 March 2018 Cumulative Update from K2 Partner and Customer Portal.
- Download the K2 4.7 March 2018 Cumulative Update FP35 from K2 Partner and Customer Portal.
- Install the K2 4.7 March 2018 Cumulative Update FP35 to apply the fix.
Considerations
It is important that the lifetime of your token, i.e ADFS, FormsSTS, WindowsSTS, is never the same as the TokenExpiry value, including the default value of 1800. This will result in a constant sign-in/sign-out cycle, and will cause a “multiple login attempts detected” error. These values are stored in the web config files situated at the locations below:
- C:Program Files (x86)K2 blackpearlK2 smartforms Designer
- C:Program Files (x86)K2 blackpearlK2 smartforms Runtime
- C:Program Files (x86)K2 blackpearlWebServicesIdentityStsForms
- C:Program Files (x86)K2 blackpearlWebServicesIdentityStsWindows
Note that the SessionTokenLifetime values are updated in the StsForms and StsWindows config files and the TokenExpiry values are updated in the K2 smartforms Designer and K2 smartforms Runtime web config files, so there are four files where they should not have the same value.
When you experience this issue follow these steps:
- Add the following value to the K2 SmartForms Runtime web.config file under <appSettings>: <add key="TokenExpiry" value="1800" />
- Restart the K2 Server
- It is recommended to refresh the browser cache and perform an IISReset.
This value is specified in seconds and is used as the minimum time a token needs to remain valid before K2 will re-authenticate. This could however prompt a user for credentials when accessing K2 forms.
The minimum value recommendation is 600 seconds.