@@ -147,6 +147,34 @@ var tokenCustomClaim = 'HEAD.eyJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5j' +
147147 'bl9pbl9wcm92aWRlciI6InBhc3N3b3JkIn19.SIGNATURE' ;
148148
149149
150+ // "iss": "https://securetoken.google.com/projectId",
151+ // "name": "John Doe",
152+ // "role": "Админ", // <---- Note non-ascii characters here
153+ // "aud": "projectId",
154+ // "auth_time": 1522715325,
155+ // "sub": "nep2uwNCK4PqjvoKjb0InVJHlGi1",
156+ // "iat": 1522776807,
157+ // "exp": 1522780575,
158+ // "email": "testuser@gmail.com",
159+ // "email_verified": true,
160+ // "firebase": {
161+ // "identities": {
162+ // "email": [
163+ // "testuser@gmail.com"
164+ // ]
165+ // },
166+ // "sign_in_provider": "custom"
167+ // }
168+ var tokenCustomClaimWithUnicodeChar = 'HEAD.eyJpc3MiOiJodHRwczovL3NlY3VyZXRv' +
169+ 'a2VuLmdvb2dsZS5jb20vcHJvamVjdElkIiwibmFtZSI6IkpvaG4gRG9lIiwicm9sZSI6ItC' +
170+ 'Q0LTQvNC40L0iLCJhdWQiOiJwcm9qZWN0SWQiLCJhdXRoX3RpbWUiOjE1MjI3MTUzMjUsIn' +
171+ 'N1YiI6Im5lcDJ1d05DSzRQcWp2b0tqYjBJblZKSGxHaTEiLCJpYXQiOjE1MjI3NzY4MDcsI' +
172+ 'mV4cCI6MTUyMjc4MDU3NSwiZW1haWwiOiJ0ZXN0dXNlckBnbWFpbC5jb20iLCJlbWFpbF92' +
173+ 'ZXJpZmllZCI6dHJ1ZSwiZmlyZWJhc2UiOnsiaWRlbnRpdGllcyI6eyJlbWFpbCI6WyJ0ZXN' +
174+ '0dXNlckBnbWFpbC5jb20iXX0sInNpZ25faW5fcHJvdmlkZXIiOiJjdXN0b20ifX0=.SIGNA' +
175+ 'TURE' ;
176+
177+
150178// "iss": "https://securetoken.google.com/projectId",
151179// "name": "John Doe",
152180// "aud": "projectId",
@@ -405,3 +433,31 @@ function testParseIdTokenClaims_customClaims() {
405433 } ,
406434 tokenJSON ) ;
407435}
436+
437+
438+ function testParseIdTokenClaims_tokenCustomClaimWithUnicodeChar ( ) {
439+ const tokenJSON = fireauth . IdToken . parseIdTokenClaims (
440+ tokenCustomClaimWithUnicodeChar ) ;
441+ assertObjectEquals (
442+ {
443+ 'iss' : 'https://securetoken.google.com/projectId' ,
444+ 'name' : 'John Doe' ,
445+ 'role' : 'Админ' ,
446+ 'aud' : 'projectId' ,
447+ 'auth_time' : 1522715325 ,
448+ 'sub' : 'nep2uwNCK4PqjvoKjb0InVJHlGi1' ,
449+ 'iat' : 1522776807 ,
450+ 'exp' : 1522780575 ,
451+ 'email' : "testuser@gmail.com" ,
452+ 'email_verified' : true ,
453+ 'firebase' : {
454+ 'identities' : {
455+ 'email' : [
456+ 'testuser@gmail.com'
457+ ]
458+ } ,
459+ 'sign_in_provider' : 'custom'
460+ }
461+ } ,
462+ tokenJSON ) ;
463+ }
0 commit comments