Skip to content

Commit e4d4512

Browse files
committed
Adding the JWT header to user requests
1 parent a4d4e8f commit e4d4512

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

iOS_SDK/OneSignalSDK/OneSignalUser/Source/OSUserRequests.swift

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)