TeamCity SSO logging out frequently

Hi All,

We have enabled Azure AD login for our TeamCity server using Azure Active Directory and App registration.
Users are getting logged out frequently from TeamCity. Does anybody have a suggestion on how to keep users logged in for a longer duration?Please let me know if anything else is required.

0
4 comments

Hi! If you are logged out by Teamcity, you can change the value by editing the <session-timeout>...</session-timeout> element in the <TeamCity_home_dir>/webapps/ROOT/WEB-INF/web.xml file.

1

Updated the timeout to 480 mints but it is giving the following error:

      <pre>jetbrains.buildServer.maintenance.exceptions.UnknownServerStartupError: Could not create the main application servlet: Failed to load TeamCity configuration. null
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:33)
    at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:322)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$1800(StartupProcessor.java:827)
    at jetbrains.buildServer.maintenance.StartupProcessor$3.call(StartupProcessor.java:25)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:91)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:1213)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:517)
    at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:1008)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:346)
    at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
    at java.base/java.lang.Thread.run(Thread.java:829)
caused by: java.lang.RuntimeException: Failed to load TeamCity configuration. null
    at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:43)
    at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
    at jetbrains.buildServer.serverSide.impl.BuildServerLifecycleProcessor.doStartup(BuildServerLifecycleProcessor.java:33)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:32)
    at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:322)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$1800(StartupProcessor.java:827)
    at jetbrains.buildServer.maintenance.StartupProcessor$3.call(StartupProcessor.java:25)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:91)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:1213)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:517)
    at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:1008)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:346)
    at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
    at java.base/java.lang.Thread.run(Thread.java:829)
caused by: java.lang.ExceptionInInitializerError
    at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:81)
    at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
    at jetbrains.buildServer.serverSide.impl.BuildServerLifecycleProcessor.doStartup(BuildServerLifecycleProcessor.java:33)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:32)
    at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:322)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$1800(StartupProcessor.java:827)
    at jetbrains.buildServer.maintenance.StartupProcessor$3.call(StartupProcessor.java:25)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:91)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:1213)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:517)
    at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:1008)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:346)
    at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
    at java.base/java.lang.Thread.run(Thread.java:829)
caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/crypto/CipherSpi
    at jetbrains.buildServer.serverSide.crypt.RSACipher.&lt;clinit&gt;(RSACipher.java:58)
    at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:81)
    at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
    at jetbrains.buildServer.serverSide.impl.BuildServerLifecycleProcessor.doStartup(BuildServerLifecycleProcessor.java:33)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:32)
    at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:322)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$1800(StartupProcessor.java:827)
    at jetbrains.buildServer.maintenance.StartupProcessor$3.call(StartupProcessor.java:25)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:91)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:1213)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:517)
    at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:1008)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:346)
    at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
    at java.base/java.lang.Thread.run(Thread.java:829)
caused by: java.lang.NoClassDefFoundError: javax/crypto/CipherSpi
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:73)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:73)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:73)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.security.Provider$Service.getImplClass(Provider.java:1920)
    at java.base/java.security.Provider$Service.newInstance(Provider.java:1894)
    at java.base/javax.crypto.Cipher.getInstance(Cipher.java:557)
    at jetbrains.buildServer.serverSide.crypt.RSACipher.prepareCipher(RSACipher.java:83)
    at jetbrains.buildServer.serverSide.crypt.RSACipher.&lt;clinit&gt;(RSACipher.java:54)
    at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:81)
    at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
    at jetbrains.buildServer.serverSide.impl.BuildServerLifecycleProcessor.doStartup(BuildServerLifecycleProcessor.java:33)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:32)
    at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:322)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$1800(StartupProcessor.java:827)
    at jetbrains.buildServer.maintenance.StartupProcessor$3.call(StartupProcessor.java:25)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:91)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:1213)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:517)
    at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:1008)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:346)
    at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
    at java.base/java.lang.Thread.run(Thread.java:829)
caused by: java.lang.ClassNotFoundException: Class 'javax.crypto.CipherSpi' was not found
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:85)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:73)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:73)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.doLoadClass(TeamCityClassLoader.java:73)
    at jetbrains.buildServer.plugins.classLoaders.TeamCityClassLoader.loadClass(TeamCityClassLoader.java:40)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.security.Provider$Service.getImplClass(Provider.java:1920)
    at java.base/java.security.Provider$Service.newInstance(Provider.java:1894)
    at java.base/javax.crypto.Cipher.getInstance(Cipher.java:557)
    at jetbrains.buildServer.serverSide.crypt.RSACipher.prepareCipher(RSACipher.java:83)
    at jetbrains.buildServer.serverSide.crypt.RSACipher.&lt;clinit&gt;(RSACipher.java:54)
    at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:81)
    at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
    at jetbrains.buildServer.serverSide.impl.BuildServerLifecycleProcessor.doStartup(BuildServerLifecycleProcessor.java:33)
    at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:32)
    at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:322)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$1800(StartupProcessor.java:827)
    at jetbrains.buildServer.maintenance.StartupProcessor$3.call(StartupProcessor.java:25)
    at jetbrains.buildServer.util.NamedThreadFactory.executeWithNewThreadName(NamedThreadFactory.java:91)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:1213)
    at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:517)
    at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:1008)
    at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:346)
    at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
    at java.base/java.lang.Thread.run(Thread.java:829)
</pre>
  

0
I probably should have been a bit clearer about that. My bad. You need to stop the server, edit the file and then start the server. Does that help?
0

Please sign in to leave a comment.