@@ -192,6 +192,7 @@ class OSRequestCreateUser: OneSignalRequest, OSUserRequest {
192192 let pushSubscriptionModel : OSSubscriptionModel
193193
194194 func prepareForExecution( ) -> Bool {
195+ self . addJWTHeader ( identityModel: identityModel)
195196 // The pushSub doesn't need to have a token.
196197 return true
197198 }
@@ -267,6 +268,7 @@ class OSRequestIdentifyUser: OneSignalRequest, OSUserRequest {
267268 // requires a onesignal_id to send this request
268269 func prepareForExecution( ) -> Bool {
269270 if let onesignalId = identityModelToIdentify. onesignalId {
271+ self . addJWTHeader ( identityModel: identityModelToIdentify)
270272 self . path = " user/by/ \( OS_ONESIGNAL_ID) / \( onesignalId) /identity "
271273 return true
272274 } else {
@@ -342,6 +344,7 @@ class OSRequestFetchUser: OneSignalRequest, OSUserRequest {
342344 // If there is an alias, use that
343345 if let aliasLabelToUse = aliasLabel,
344346 let aliasIdToUse = aliasId {
347+ self . addJWTHeader ( identityModel: identityModel)
345348 self . path = " user/by/ \( aliasLabelToUse) / \( aliasIdToUse) "
346349 return true
347350 }
@@ -398,6 +401,7 @@ class OSRequestAddAliases: OneSignalRequest, OSUserRequest {
398401 // requires a `onesignal_id` to send this request
399402 func prepareForExecution( ) -> Bool {
400403 if let onesignalId = identityModel. onesignalId {
404+ self . addJWTHeader ( identityModel: identityModel)
401405 self . path = " user/by/ \( OS_ONESIGNAL_ID) / \( onesignalId) /identity "
402406 return true
403407 } else {
@@ -447,6 +451,7 @@ class OSRequestRemoveAlias: OneSignalRequest, OSUserRequest {
447451
448452 func prepareForExecution( ) -> Bool {
449453 if let onesignalId = identityModel. onesignalId {
454+ self . addJWTHeader ( identityModel: identityModel)
450455 self . path = " user/by/ \( OS_ONESIGNAL_ID) / \( onesignalId) /identity/ \( labelToRemove) "
451456 return true
452457 } else {
@@ -496,6 +501,7 @@ class OSRequestUpdateProperties: OneSignalRequest, OSUserRequest {
496501
497502 func prepareForExecution( ) -> Bool {
498503 if let onesignalId = identityModel. onesignalId {
504+ self . addJWTHeader ( identityModel: identityModel)
499505 self . path = " user/by/ \( OS_ONESIGNAL_ID) / \( onesignalId) "
500506 return true
501507 } else {
@@ -560,6 +566,7 @@ class OSRequestCreateSubscription: OneSignalRequest, OSUserRequest {
560566 // Need the onesignal_id of the user
561567 func prepareForExecution( ) -> Bool {
562568 if let onesignalId = identityModel. onesignalId {
569+ self . addJWTHeader ( identityModel: identityModel)
563570 self . path = " user/by/ \( OS_ONESIGNAL_ID) / \( onesignalId) /subscription "
564571 return true
565572 } else {
@@ -636,8 +643,9 @@ class OSRequestTransferSubscription: OneSignalRequest, OSUserRequest {
636643 self . parameters ? [ " identity " ] = [ label: id]
637644 return true
638645 }
639- if let onesignalId = identityModel? . onesignalId {
646+ if let identityModel = identityModel , let onesignalId = identityModel. onesignalId {
640647 self . parameters ? [ " identity " ] = [ OS_ONESIGNAL_ID: onesignalId]
648+ self . addJWTHeader ( identityModel: identityModel)
641649 return true
642650 } else {
643651 return false
@@ -807,3 +815,14 @@ class OSRequestDeleteSubscription: OneSignalRequest, OSUserRequest {
807815 _ = prepareForExecution ( )
808816 }
809817}
818+
819+ internal extension OneSignalRequest {
820+ func addJWTHeader( identityModel: OSIdentityModel ) {
821+ guard let token = identityModel. jwtBearerToken else {
822+ return
823+ }
824+ var additionalHeaders = self . additionalHeaders ?? [ String: String] ( )
825+ additionalHeaders [ " Authorization " ] = " Bearer \( token) "
826+ self . additionalHeaders = additionalHeaders
827+ }
828+ }
0 commit comments