@@ -126,11 +126,15 @@ class ParseUser extends ParseObject implements ParseCloneable {
126
126
bodyData[keyVarPassword] = password;
127
127
bodyData[keyVarUsername] = username;
128
128
final Uri url = getSanitisedUri (_client, '$path ' );
129
+ final Map <String , String > headers = < String , String > {
130
+ keyHeaderRevocableSession: '1' ,
131
+ };
132
+ final String installationId = await _getInstallationId ();
133
+ if (installationId != null ) {
134
+ headers[keyHeaderInstallationId] = installationId;
135
+ }
129
136
final Response response = await _client.post (url,
130
- headers: < String , String > {
131
- keyHeaderRevocableSession: '1' ,
132
- },
133
- body: json.encode (bodyData));
137
+ headers: headers, body: json.encode (bodyData));
134
138
135
139
return _handleResponse (
136
140
this , response, ParseApiRQ .signUp, _debug, className);
@@ -174,11 +178,15 @@ class ParseUser extends ParseObject implements ParseCloneable {
174
178
try {
175
179
final Uri url = getSanitisedUri (_client, '$keyEndPointUsers ' );
176
180
final Uuid uuid = Uuid ();
177
-
181
+ final Map <String , String > headers = < String , String > {
182
+ keyHeaderRevocableSession: '1' ,
183
+ };
184
+ final String installationId = await _getInstallationId ();
185
+ if (installationId != null ) {
186
+ headers[keyHeaderInstallationId] = installationId;
187
+ }
178
188
final Response response = await _client.post (url,
179
- headers: < String , String > {
180
- keyHeaderRevocableSession: '1' ,
181
- },
189
+ headers: headers,
182
190
body: jsonEncode (< String , dynamic > {
183
191
'authData' : < String , dynamic > {
184
192
'anonymous' : < String , dynamic > {'id' : uuid.v4 ()}
@@ -203,10 +211,15 @@ class ParseUser extends ParseObject implements ParseCloneable {
203
211
Future <ParseResponse > _loginWith (String provider, Object authData) async {
204
212
try {
205
213
final Uri url = getSanitisedUri (_client, '$keyEndPointUsers ' );
214
+ final Map <String , String > headers = < String , String > {
215
+ keyHeaderRevocableSession: '1' ,
216
+ };
217
+ final String installationId = await _getInstallationId ();
218
+ if (installationId != null ) {
219
+ headers[keyHeaderInstallationId] = installationId;
220
+ }
206
221
final Response response = await _client.post (url,
207
- headers: < String , String > {
208
- keyHeaderRevocableSession: '1' ,
209
- },
222
+ headers: headers,
210
223
body: jsonEncode (< String , dynamic > {
211
224
'authData' : < String , dynamic > {provider: authData}
212
225
}));
@@ -218,6 +231,12 @@ class ParseUser extends ParseObject implements ParseCloneable {
218
231
}
219
232
}
220
233
234
+ static Future <String > _getInstallationId () async {
235
+ final ParseInstallation parseInstallation =
236
+ await ParseInstallation .currentInstallation ();
237
+ return parseInstallation? .installationId;
238
+ }
239
+
221
240
/// Sends a request to delete the sessions token from the
222
241
/// server. Will also delete the local user data unless
223
242
/// deleteLocalUserData is false.
0 commit comments