Skip to content

Commit 88cd33f

Browse files
authored
Support deleting custom claims by passing None (#341)
1 parent 9406afe commit 88cd33f

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

firebase_admin/auth.py

+2
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,8 @@ def set_custom_user_claims(uid, custom_claims, app=None):
421421
FirebaseError: If an error occurs while updating the user account.
422422
"""
423423
user_manager = _get_auth_service(app).user_manager
424+
if custom_claims is None:
425+
custom_claims = DELETE_ATTRIBUTE
424426
user_manager.update_user(uid, custom_claims=custom_claims)
425427

426428

integration/test_auth.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -310,9 +310,9 @@ def test_update_custom_user_claims(new_user):
310310
def test_disable_user(new_user_with_params):
311311
user = auth.update_user(
312312
new_user_with_params.uid,
313-
display_name=None,
314-
photo_url=None,
315-
phone_number=None,
313+
display_name=auth.DELETE_ATTRIBUTE,
314+
photo_url=auth.DELETE_ATTRIBUTE,
315+
phone_number=auth.DELETE_ATTRIBUTE,
316316
disabled=True)
317317
assert user.uid == new_user_with_params.uid
318318
assert user.email == new_user_with_params.email

tests/test_user_mgt.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -551,9 +551,10 @@ def test_set_custom_user_claims_str(self, user_mgt_app):
551551
request = json.loads(recorder[0].body.decode())
552552
assert request == {'localId' : 'testuser', 'customAttributes' : claims}
553553

554-
def test_set_custom_user_claims_remove(self, user_mgt_app):
554+
@pytest.mark.parametrize('claims', [None, auth.DELETE_ATTRIBUTE])
555+
def test_set_custom_user_claims_remove(self, user_mgt_app, claims):
555556
_, recorder = _instrument_user_manager(user_mgt_app, 200, '{"localId":"testuser"}')
556-
auth.set_custom_user_claims('testuser', auth.DELETE_ATTRIBUTE, app=user_mgt_app)
557+
auth.set_custom_user_claims('testuser', claims, app=user_mgt_app)
557558
request = json.loads(recorder[0].body.decode())
558559
assert request == {'localId' : 'testuser', 'customAttributes' : json.dumps({})}
559560

0 commit comments

Comments
 (0)