Issue is resolved in vCenter Server 7.0 P05 (U3d) and above.. The fix contains increased default timeout for token acquisition from STS service.
STS team are working on a fix for the root cause of the slow token acquisition.
Workaround:
If we are unable to patch vCenter Server, The workaround for this issue is to increase the 30 seconds timeout for token acquisition to 2 minutes. This can be done as follows,
1. Take a snapshot of vCenter Server.
2. cd /usr/lib/vmware-vsphere-ui/plugin-packages/cis-data-service-plugin/plugins
3. Back-up original file to another directory.
For example: cp api-gateway-server.war ~4. unzip api-gateway-server.war
5. vi WEB-INF/spring/bundle-context.xml
6. Navigate to the line containing the string "tokenAcquisitionTimeout" (Press '/' type "tokenAcquisitionTimeout" and press 'Return')
You should see content like this:
<constructor-arg index="6" value="30" /> <!-- tokenAcquisitionTimeout -->
<constructor-arg index="7" value="SECONDS" /> <!-- timeUnitForTokenAcquisitionTimeout -->
7. Modify the values to increase the timeout (Press `i` and then type the new values).
For example:
<constructor-arg index="6" value="2" /> <!-- tokenAcquisitionTimeout -->
<constructor-arg index="7" value="MINUTES" /> <!-- timeUnitForTokenAcquisitionTimeout -->
8. Save the modifications. (Press 'Esc' then type ":x" and then press 'Return')
9. rm api-gateway-server.war
10. zip -rm api-gateway-server.war META-INF WEB-INF
11. chmod 755 api-gateway-server.war
12. service-control --restart vsphere-ui
13. Validate the behavior.
------------------------------------------------------------------------------------------------------------
Note: It is very important the the file permissions of api-gateway-server.war are 755 (rwxr-xr-x). Otherwise the login will not function at all.