@@ -1973,6 +1973,64 @@ describe('ProtectedFields', function () {
19731973 expect ( response . data . objectId ) . toBe ( user . id ) ;
19741974 } ) ;
19751975
1976+ it ( '/login respects protectedFieldsOwnerExempt: false' , async function ( ) {
1977+ await reconfigureServer ( {
1978+ protectedFields : {
1979+ _User : {
1980+ '*' : [ 'phone' ] ,
1981+ } ,
1982+ } ,
1983+ protectedFieldsOwnerExempt : false ,
1984+ } ) ;
1985+ const user = await Parse . User . signUp ( 'user1' , 'password' ) ;
1986+ const sessionToken = user . getSessionToken ( ) ;
1987+ user . set ( 'phone' , '555-1234' ) ;
1988+ await user . save ( null , { sessionToken } ) ;
1989+
1990+ const response = await request ( {
1991+ method : 'POST' ,
1992+ url : 'http://localhost:8378/1/login' ,
1993+ headers : {
1994+ 'X-Parse-Application-Id' : 'test' ,
1995+ 'X-Parse-REST-API-Key' : 'rest' ,
1996+ 'Content-Type' : 'application/json' ,
1997+ } ,
1998+ body : JSON . stringify ( { username : 'user1' , password : 'password' } ) ,
1999+ } ) ;
2000+ expect ( response . data . phone ) . toBeUndefined ( ) ;
2001+ expect ( response . data . objectId ) . toBe ( user . id ) ;
2002+ expect ( response . data . sessionToken ) . toBeDefined ( ) ;
2003+ } ) ;
2004+
2005+ it ( '/verifyPassword respects protectedFieldsOwnerExempt: false' , async function ( ) {
2006+ await reconfigureServer ( {
2007+ protectedFields : {
2008+ _User : {
2009+ '*' : [ 'phone' ] ,
2010+ } ,
2011+ } ,
2012+ protectedFieldsOwnerExempt : false ,
2013+ verifyUserEmails : false ,
2014+ } ) ;
2015+ const user = await Parse . User . signUp ( 'user1' , 'password' ) ;
2016+ const sessionToken = user . getSessionToken ( ) ;
2017+ user . set ( 'phone' , '555-1234' ) ;
2018+ await user . save ( null , { sessionToken } ) ;
2019+
2020+ const response = await request ( {
2021+ method : 'POST' ,
2022+ url : 'http://localhost:8378/1/verifyPassword' ,
2023+ headers : {
2024+ 'X-Parse-Application-Id' : 'test' ,
2025+ 'X-Parse-REST-API-Key' : 'rest' ,
2026+ 'Content-Type' : 'application/json' ,
2027+ } ,
2028+ body : JSON . stringify ( { username : 'user1' , password : 'password' } ) ,
2029+ } ) ;
2030+ expect ( response . data . phone ) . toBeUndefined ( ) ;
2031+ expect ( response . data . objectId ) . toBe ( user . id ) ;
2032+ } ) ;
2033+
19762034 it ( 'owner sees non-protected fields like email when protectedFieldsOwnerExempt is true' , async function ( ) {
19772035 await reconfigureServer ( {
19782036 protectedFields : {
0 commit comments