fix(identity): preserve empty access_group_ids list across adapter roundtrip

This commit is contained in:
Yassin Kortam 2026-06-08 14:27:44 -07:00
parent 30cb095859
commit d450935a9d
2 changed files with 10 additions and 1 deletions

View file

@ -104,7 +104,7 @@ def identity_context_to_user_api_key_auth(
kwargs: dict = {
"end_user_id": ctx.end_user_id,
"access_group_ids": (
list(ctx.access_group_ids) if ctx.access_group_ids else None
list(ctx.access_group_ids) if ctx.access_group_ids is not None else None
),
}

View file

@ -57,6 +57,15 @@ def test_roundtrip_preserves_api_key_identity_fields():
assert back.token == uak.token
def test_access_group_ids_empty_list_survives_roundtrip():
uak = UserAPIKeyAuth(api_key="sk-x", user_id="u", access_group_ids=[])
ctx = user_api_key_auth_to_identity_context(uak)
assert ctx.access_group_ids == []
back = identity_context_to_user_api_key_auth(ctx)
assert back.access_group_ids == []
def test_token_hash_not_double_hashed():
ctx = IdentityContext(principal=ApiKeyPrincipal(token_hash="abc123"))
back = identity_context_to_user_api_key_auth(ctx)