Safewhere Identify 5.18 Release Notes
New features and improvements
Data optimization in the OAuthAccessToken table
Identify now uses a more efficient serializer for tokens stored in the OAuthAccessToken table. This significantly reduces the data size (by at least 10 times) and improves performance for Identify tenants, especially in high-traffic environments using OAuth/OIDC applications.
For comparison, here is the data payload of an exchanged access token from the My REST API key
page:
{
"sub": "testuser",
"scope": "identify*scim",
"unique_name": "testuser",
"role": [
"DataGuardian",
"SecureAccessMgr",
"LinkSupervisor",
"NetworkChief",
"ServicePortal",
"EntityManager",
"ConfigMaster",
"UserManager"
],
"urn:identify:rest-api:role": "Administrator",
"name": "testuser",
"urn:internal:userid": "871edefe-1d36-48a1-b502-5a431b2a7597",
"client_id": "oauth2_codeflow_restapi_token_e7080f1f-39d5-1e9a-b3c8-bf0d56e68e66",
"token_usage": "access_token",
"jti": "e7dca56d-0dea-423d-b26b-d3895cdc3e61",
"aud": "https://identify01.identify.safewhere.com/runtime/",
"azp": "oauth2_codeflow_restapi_token_e7080f1f-39d5-1e9a-b3c8-bf0d56e68e66",
"iat": 1735798688,
"nbf": 1735798688,
"exp": 1739398688,
"iss": "https://identify01.identify.safewhere.com/runtime/oauth2"
}
The size of the data in the SerializedClaimsPrincipal
column is recorded as follows:
Version | Data content | Size |
---|---|---|
5.18.0.3 | Prefix is AAEAAAD |
46.27 KB |
5.18.0.4 | Prefix is not AAEAAAD |
4.33 KB |
By executing the token exchange 3693 times on the My REST API Key
page, we gathered the following statistics:
Version | Data size | Table Statistic |
---|---|---|
5.18.0.3 | 379648 KB | ![]() |
5.18.0.4 | 59152 KB | ![]() |
For backward compatibility, valid OAuth 2.0 tokens using the old serializer can still be used without issue. As a result, these changes introduce no breaking modifications to existing tokens.
Bug fixes
- Fixed: #197 [RESTAPI] An error occurred when the
sortBy
input in the User API was an URI claim.