< class="prominent-subhead ">

Code Fix: Navigating to a K2 Application from any SharePoint list or library may result in a user being logged out

This article has been archived, and/or refers to legacy products, components or features. The content in this article is offered "as is" and will no longer be updated. Archived content is provided for reference purposes only. This content does not infer that the product, component or feature is supported, or that the product, component or feature will continue to function as described herein.

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.


  1. Ensure you have K2 4.7 installed.
  2. Download and Install the K2 4.7 March 2018 Cumulative Update from K2 Partner and Customer Portal.
  3. Download the K2 4.7 March 2018 Cumulative Update FP35 from K2 Partner and Customer Portal.
  4. Install the K2 4.7 March 2018 Cumulative Update FP35 to apply the fix.


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 blackpearl\K2 smartforms Designer
  • C:\Program Files (x86)\K2 blackpearl\K2 smartforms Runtime
  • C:\Program Files (x86)\K2 blackpearl\WebServices\Identity\Sts\Forms
  • C:\Program Files (x86)\K2 blackpearl\WebServices\Identity\Sts\Windows

Note that the SessionTokenLifetime values are updated in the \Sts\Forms and \Sts\Windows 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:

  1. Add the following value to the K2 SmartForms Runtime web.config file under <appSettings>:
    <add key="TokenExpiry" value="1800" />
  2. Restart the K2 Server
  3. 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.