@@ -308,6 +308,10 @@ public class OneSignalUserManagerImpl: NSObject, OneSignalUserManager {
308308 if let user = _user {
309309 guard user. identityModel. externalId != externalId || externalId == nil else {
310310 OneSignalLog . onesignalLog ( . LL_VERBOSE, message: " OneSignalUserManager.createNewUser: not creating new user due to logging into the same user.) " )
311+ if externalId != nil , token != nil {
312+ // save the jwtToken, it can be updated
313+ user. identityModel. jwtBearerToken = token
314+ }
311315 return user
312316 }
313317 }
@@ -386,17 +390,19 @@ public class OneSignalUserManagerImpl: NSObject, OneSignalUserManager {
386390 }
387391 OneSignalLog . onesignalLog ( . LL_VERBOSE, message: " OneSignalUserManager internal _login called with externalId: \( externalId ?? " nil " ) " )
388392
389- // If have token, validate token. Account for this being a requirement.
390- // Logging into an identified user from an anonymous user
393+ // Logging into an identified user from an anonymous user, if JWT is not ON
391394 if let externalId = externalId,
392395 let user = _user,
393- user. isAnonymous {
396+ user. isAnonymous,
397+ jwtConfig. isRequired != true
398+ {
394399 user. identityModel. jwtBearerToken = token
395400 identifyUser ( externalId: externalId, currentUser: user)
396401 return self . user
397402 }
398403
399- // Logging into anon -> anon, identified -> anon, identified -> identified, or nil -> any user
404+ // JWT Off: Logging into anon -> anon, identified -> anon, identified -> identified, or nil -> any user
405+ // JWT On: All
400406 return createNewUser ( externalId: externalId, token: token)
401407 }
402408
0 commit comments