The error message "Unable to load the attribute definition. Error when building Intelligence Server session. Request timeout" is received while attempting to edit an attribute for any project via the Workstation Interface post upgrade to Strategy 2021 Update 12. Despite the properly configured Modeling service, the problem persisted, disrupting other related functionalities such as schema editing, creation of migration packages, and editing reports in the Strategy Workstation or Strategy Library.
The issue originates from an inadequate secret key, which does not meet the security length requirements. An unusually short secret key length leads to persistent timeout errors when users attempt to edit an attribute in any project via the Workstation Interface. Usually, this issue often arises with newer Strategy versions.
The reported issue seems to be a product of a security improvement; the identity token secret key size should be at least 512 bits and base64 encoded to conform to the specifications of RFC7158 (3.2. HMAC with SHA-2 Functions). In on-premises environments, it is necessary to carry out a manual update of the invalid base64-encoded secret key for all related components. Below-listed components utilize this secret key as an integral part of their respective procedures. Therefore, there is a need to update each of these related components with the correct key.
Related Components:
- Modeling Service
- Library Web
- Strategy Web
- Collaboration Service
Execute the following steps to generate a robust 512-bit secret key as a workaround, which will replace the current insecure one:
1. Paste the code shown below into a text editor and name the file generate_token.py.
import os
import base64
import platform
def generate_token():
# Generate 64 bytes of random data (512 bits)
random_bytes = os.urandom(64)
# Encode the random bytes using base64
encoded_token = base64.b64encode(random_bytes)
# Convert bytes to string
token = encoded_token.decode('utf-8')
return token
def main():
token = generate_token()
print("Generated Token:", token)
if __name__ == "__main__":
main()KB486418 - When Connecting to the Modeling service, an error appears
https://community.Strategy.com/s/article/KB486418-When-Connecting-to-the-Modeling-service-an-error-appears?language=en_US
Customization Warning: This customization is provided as a convenience to Strategy users and is only directly applicable to the version stated. While this code may apply to other releases directly, Strategy Technical Support makes no guarantees that the code provided will apply to any future or previous builds. In the event of a code change in future builds, Strategy Technical Support makes no guarantee that an updated version of this particular customization will be provided. For enhancements to this customization or to incorporate similar functionality into other versions, contact your Account Executive to inquire about Strategy Consulting assistance.