Skip to content

Commit 43741f0

Browse files
committed
Add JWT Token to Identity Model
* Identity Model Store Listener will ignore it so no Deltas will be enqueued
1 parent 842c647 commit 43741f0

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

iOS_SDK/OneSignalSDK/OneSignalUser/Source/OSIdentityModel.swift

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,20 @@ class OSIdentityModel: OSModel {
4242
var aliases: [String: String] = [:]
4343
private let aliasesLock = NSRecursiveLock()
4444

45-
// TODO: We need to make this token secure
46-
public var jwtBearerToken: String?
45+
// MARK: - JWT
46+
47+
public var jwtBearerToken: String? {
48+
didSet {
49+
guard jwtBearerToken != oldValue else {
50+
return
51+
}
52+
self.set(property: OS_JWT_BEARER_TOKEN, newValue: jwtBearerToken)
53+
}
54+
}
55+
56+
func isJwtValid() -> Bool {
57+
return jwtBearerToken != nil && jwtBearerToken != "" && jwtBearerToken != OS_JWT_TOKEN_INVALID
58+
}
4759

4860
// MARK: - Initialization
4961

@@ -57,6 +69,7 @@ class OSIdentityModel: OSModel {
5769
aliasesLock.withLock {
5870
super.encode(with: coder)
5971
coder.encode(aliases, forKey: "aliases")
72+
coder.encode(jwtBearerToken, forKey: OS_JWT_BEARER_TOKEN)
6073
}
6174
}
6275

@@ -66,6 +79,7 @@ class OSIdentityModel: OSModel {
6679
// log error
6780
return nil
6881
}
82+
self.jwtBearerToken = coder.decodeObject(forKey: OS_JWT_BEARER_TOKEN) as? String
6983
self.aliases = aliases
7084
}
7185

iOS_SDK/OneSignalSDK/OneSignalUser/Source/OSIdentityModelStoreListener.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ class OSIdentityModelStoreListener: OSModelStoreListener {
4848
Determines if this update is adding aliases or removing aliases.
4949
*/
5050
func getUpdateModelDelta(_ args: OSModelChangedArgs) -> OSDelta? {
51-
// TODO: Let users call addAliases with "" IDs? If so, this will change...
5251
guard
52+
args.property == "aliases", // avoids JWT token updates
5353
let aliasesDict = args.newValue as? [String: String],
5454
let (_, id) = aliasesDict.first
5555
else {

0 commit comments

Comments
 (0)