@appzung/react-native-code-push 9.0.2 → 10.0.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/CodePush.js +22 -19
  2. package/LICENSE.md +1 -1
  3. package/README.md +159 -298
  4. package/android/app/.gradle/config.properties +2 -0
  5. package/android/app/build.gradle +1 -1
  6. package/android/app/local.properties +8 -0
  7. package/android/app/src/main/java/com/microsoft/codepush/react/CodePush.java +27 -21
  8. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushBuilder.java +5 -5
  9. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushConstants.java +1 -1
  10. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushDialog.java +1 -1
  11. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushInstallMode.java +2 -2
  12. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushInvalidPublicKeyException.java +2 -2
  13. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushInvalidUpdateException.java +1 -1
  14. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushMalformedDataException.java +2 -2
  15. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java +5 -5
  16. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushNotInitializedException.java +2 -2
  17. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushTelemetryManager.java +14 -14
  18. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUnknownException.java +2 -2
  19. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateManager.java +1 -1
  20. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateState.java +2 -2
  21. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateUtils.java +1 -1
  22. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUtils.java +1 -1
  23. package/android/app/src/main/java/com/microsoft/codepush/react/DownloadProgress.java +1 -1
  24. package/android/app/src/main/java/com/microsoft/codepush/react/DownloadProgressCallback.java +1 -1
  25. package/android/app/src/main/java/com/microsoft/codepush/react/FileUtils.java +1 -1
  26. package/android/app/src/main/java/com/microsoft/codepush/react/ReactInstanceHolder.java +1 -1
  27. package/android/app/src/main/java/com/microsoft/codepush/react/SettingsManager.java +1 -1
  28. package/android/app/src/main/java/com/microsoft/codepush/react/TLSSocketFactory.java +1 -1
  29. package/android/build.gradle +1 -1
  30. package/android/codepush.gradle +3 -3
  31. package/docs/advanced-usage.md +56 -0
  32. package/docs/api-android.md +12 -75
  33. package/docs/api-ios.md +5 -17
  34. package/docs/api-js.md +18 -55
  35. package/docs/setup-android.md +15 -397
  36. package/docs/setup-ios.md +24 -198
  37. package/docs/setup-windows.md +7 -74
  38. package/ios/CodePush/CodePush.h +4 -4
  39. package/ios/CodePush/CodePush.m +8 -8
  40. package/ios/CodePush/CodePushConfig.m +14 -11
  41. package/ios/CodePush/CodePushPackage.m +60 -60
  42. package/ios/CodePush/CodePushTelemetryManager.m +13 -13
  43. package/ios/CodePush.xcodeproj/project.pbxproj +1 -562
  44. package/package.json +27 -24
  45. package/react-native.config.js +1 -1
  46. package/scripts/generateBundledResourcesHash.js +1 -1
  47. package/scripts/getFilesInFolder.js +1 -1
  48. package/scripts/recordFilesBeforeBundleCommand.js +1 -1
  49. package/typings/react-native-code-push.d.ts +22 -22
  50. package/windows/CodePush/CodePushConfig.cpp +3 -3
  51. package/windows/CodePush/CodePushConfig.h +3 -3
  52. package/windows/CodePush/CodePushNativeModule.cpp +27 -27
  53. package/windows/CodePush/CodePushNativeModule.h +4 -4
  54. package/windows/CodePush/CodePushTelemetryManager.cpp +12 -12
  55. package/windows/CodePush/CodePushTelemetryManager.h +1 -1
  56. package/.azurepipelines/build-rn-code-push-1es.yml +0 -104
  57. package/.azurepipelines/test-rn-code-push.yml +0 -94
  58. package/.config/CredScanSuppressions.json +0 -14
  59. package/SECURITY.md +0 -41
  60. package/docs/multi-deployment-testing-android.md +0 -148
  61. package/docs/multi-deployment-testing-ios.md +0 -59
  62. package/ios/CodePush/Base64/Base64/MF_Base64Additions.h +0 -34
  63. package/ios/CodePush/Base64/Base64/MF_Base64Additions.m +0 -252
  64. package/ios/CodePush/Base64/README.md +0 -47
  65. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithm.h +0 -69
  66. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.h +0 -16
  67. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.m +0 -51
  68. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.h +0 -15
  69. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.m +0 -55
  70. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.h +0 -24
  71. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.m +0 -41
  72. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.h +0 -28
  73. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.m +0 -205
  74. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.h +0 -103
  75. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.m +0 -322
  76. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.h +0 -37
  77. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.m +0 -145
  78. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.h +0 -35
  79. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.m +0 -551
  80. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTRSAlgorithm.h +0 -23
  81. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.h +0 -43
  82. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.m +0 -230
  83. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.h +0 -31
  84. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.m +0 -113
  85. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.h +0 -38
  86. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.m +0 -500
  87. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.h +0 -18
  88. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.m +0 -214
  89. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.h +0 -23
  90. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.m +0 -29
  91. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.h +0 -19
  92. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.m +0 -68
  93. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.h +0 -18
  94. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.m +0 -72
  95. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.h +0 -67
  96. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.m +0 -111
  97. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.h +0 -119
  98. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.m +0 -307
  99. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.h +0 -94
  100. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.m +0 -619
  101. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.h +0 -164
  102. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.m +0 -514
  103. package/ios/CodePush/JWT/Core/Coding/JWTCoding.h +0 -24
  104. package/ios/CodePush/JWT/Core/Coding/JWTCoding.m +0 -11
  105. package/ios/CodePush/JWT/Core/FrameworkSupplement/JWT.h +0 -52
  106. package/ios/CodePush/JWT/Core/FrameworkSupplement/Map.modulemap +0 -5
  107. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.h +0 -28
  108. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.m +0 -70
  109. package/ios/CodePush/JWT/Core/Supplement/JWTDeprecations.h +0 -22
  110. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.h +0 -34
  111. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.m +0 -73
  112. package/ios/CodePush/JWT/LICENSE +0 -19
  113. package/ios/CodePush/JWT/README.md +0 -489
  114. package/ios/CodePush/SSZipArchive/Info.plist +0 -26
  115. package/ios/CodePush/SSZipArchive/README.md +0 -1
  116. package/ios/CodePush/SSZipArchive/SSZipArchive.h +0 -178
  117. package/ios/CodePush/SSZipArchive/SSZipArchive.m +0 -1496
  118. package/ios/CodePush/SSZipArchive/SSZipCommon.h +0 -71
  119. package/ios/CodePush/SSZipArchive/Supporting Files/PrivacyInfo.xcprivacy +0 -23
  120. package/ios/CodePush/SSZipArchive/include/ZipArchive.h +0 -25
  121. package/ios/CodePush/SSZipArchive/minizip/LICENSE +0 -17
  122. package/ios/CodePush/SSZipArchive/minizip/mz.h +0 -273
  123. package/ios/CodePush/SSZipArchive/minizip/mz_compat.c +0 -1306
  124. package/ios/CodePush/SSZipArchive/minizip/mz_compat.h +0 -346
  125. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.c +0 -187
  126. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.h +0 -65
  127. package/ios/CodePush/SSZipArchive/minizip/mz_crypt_apple.c +0 -526
  128. package/ios/CodePush/SSZipArchive/minizip/mz_os.c +0 -348
  129. package/ios/CodePush/SSZipArchive/minizip/mz_os.h +0 -176
  130. package/ios/CodePush/SSZipArchive/minizip/mz_os_posix.c +0 -350
  131. package/ios/CodePush/SSZipArchive/minizip/mz_strm.c +0 -556
  132. package/ios/CodePush/SSZipArchive/minizip/mz_strm.h +0 -132
  133. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.c +0 -383
  134. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.h +0 -42
  135. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.c +0 -269
  136. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.h +0 -48
  137. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os.h +0 -40
  138. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os_posix.c +0 -203
  139. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.c +0 -334
  140. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.h +0 -46
  141. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.c +0 -429
  142. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.h +0 -43
  143. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.c +0 -360
  144. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.h +0 -46
  145. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.c +0 -389
  146. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.h +0 -43
  147. package/ios/CodePush/SSZipArchive/minizip/mz_zip.c +0 -2782
  148. package/ios/CodePush/SSZipArchive/minizip/mz_zip.h +0 -262
  149. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.c +0 -1942
  150. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.h +0 -285
  151. package/scripts/postlink/android/postlink.js +0 -87
  152. package/scripts/postlink/ios/postlink.js +0 -116
  153. package/scripts/postlink/run.js +0 -11
  154. package/scripts/postunlink/android/postunlink.js +0 -74
  155. package/scripts/postunlink/ios/postunlink.js +0 -87
  156. package/scripts/postunlink/run.js +0 -11
  157. package/scripts/tools/linkToolsAndroid.js +0 -57
  158. package/scripts/tools/linkToolsIos.js +0 -130
  159. package/windows-legacy/CodePush/CodePush.csproj +0 -128
  160. package/windows-legacy/CodePush/CodePushUtils.cs +0 -47
  161. package/windows-legacy/CodePush/FileUtils.cs +0 -40
  162. package/windows-legacy/CodePush/Properties/AssemblyInfo.cs +0 -29
  163. package/windows-legacy/CodePush/Properties/CodePush.rd.xml +0 -33
  164. package/windows-legacy/CodePush/UpdateManager.cs +0 -305
  165. package/windows-legacy/CodePush/UpdateUtils.cs +0 -46
  166. package/windows-legacy/CodePush.Net46/Adapters/Http/HttpProgress.cs +0 -28
  167. package/windows-legacy/CodePush.Net46/Adapters/Storage/ApplicationDataContainer.cs +0 -106
  168. package/windows-legacy/CodePush.Net46/CodePush.Net46.csproj +0 -103
  169. package/windows-legacy/CodePush.Net46/CodePushUtils.cs +0 -158
  170. package/windows-legacy/CodePush.Net46/FileUtils.cs +0 -55
  171. package/windows-legacy/CodePush.Net46/Properties/AssemblyInfo.cs +0 -36
  172. package/windows-legacy/CodePush.Net46/UpdateManager.cs +0 -330
  173. package/windows-legacy/CodePush.Net46/UpdateUtils.cs +0 -70
  174. package/windows-legacy/CodePush.Net46/packages.config +0 -5
  175. package/windows-legacy/CodePush.Net46.Test/ApplicationDataContainerTest.cs +0 -105
  176. package/windows-legacy/CodePush.Net46.Test/CodePush.Net46.Test.csproj +0 -137
  177. package/windows-legacy/CodePush.Net46.Test/Properties/AssemblyInfo.cs +0 -36
  178. package/windows-legacy/CodePush.Net46.Test/TelemetryManagerTest.cs +0 -117
  179. package/windows-legacy/CodePush.Net46.Test/app.config +0 -11
  180. package/windows-legacy/CodePush.Net46.Test/packages.config +0 -4
  181. package/windows-legacy/CodePush.Shared/CodePush.Shared.projitems +0 -22
  182. package/windows-legacy/CodePush.Shared/CodePush.Shared.shproj +0 -13
  183. package/windows-legacy/CodePush.Shared/CodePushConstants.cs +0 -35
  184. package/windows-legacy/CodePush.Shared/CodePushNativeModule.cs +0 -329
  185. package/windows-legacy/CodePush.Shared/CodePushReactPackage.cs +0 -235
  186. package/windows-legacy/CodePush.Shared/CodePushUtils.cs +0 -70
  187. package/windows-legacy/CodePush.Shared/InstallMode.cs +0 -9
  188. package/windows-legacy/CodePush.Shared/MinimumBackgroundListener.cs +0 -44
  189. package/windows-legacy/CodePush.Shared/SettingsManager.cs +0 -148
  190. package/windows-legacy/CodePush.Shared/TelemetryManager.cs +0 -250
  191. package/windows-legacy/CodePush.Shared/UpdateState.cs +0 -9
@@ -1,214 +0,0 @@
1
- //
2
- // JWTClaim.m
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 13.02.16.
6
- // Copyright © 2016 Karma. All rights reserved.
7
- //
8
-
9
- #import "JWTClaim.h"
10
-
11
- // TODO(3.0): Claim aud should check include in collection?
12
- // Add claims specification tests.
13
- // "iss" (Issuer) Claim
14
- // "sub" (Subject) Claim
15
- // "aud" (Audience) Claim
16
- // "exp" (Expiration Time) Claim
17
- // "nbf" (Not Before) Claim
18
- // "iat" (Issued At) Claim
19
- // "jti" (JWT ID) Claim
20
- // "typ" (Type) Claim
21
- // "scope" (Scope) Claim
22
-
23
- @interface JWTClaimIssuer : JWTClaim
24
-
25
- @end
26
-
27
- @implementation JWTClaimIssuer
28
-
29
- + (NSString *)name {
30
- return @"iss";
31
- }
32
-
33
- + (BOOL)verifyValue:(NSString *)value withTrustedValue:(NSString *)trustedValue {
34
- return [trustedValue isEqualToString:value];
35
- }
36
-
37
- @end
38
-
39
- @interface JWTClaimSubject : JWTClaim
40
-
41
- @end
42
-
43
- @implementation JWTClaimSubject
44
-
45
- + (NSString *)name {
46
- return @"sub";
47
- }
48
-
49
- + (BOOL)verifyValue:(NSString *)value withTrustedValue:(NSString *)trustedValue {
50
- return [trustedValue isEqualToString:value];
51
- }
52
-
53
- @end
54
-
55
- @interface JWTClaimAudience : JWTClaim
56
-
57
- @end
58
-
59
- // TODO: add array support later
60
- @implementation JWTClaimAudience
61
-
62
- + (NSString *)name {
63
- return @"aud";
64
- }
65
-
66
- + (BOOL)verifyValue:(NSString *)value withTrustedValue:(NSString *)trustedValue {
67
- return [trustedValue isEqualToString:value];
68
- }
69
-
70
- @end
71
-
72
- @interface JWTClaimExpirationTime : JWTClaim
73
-
74
- @end
75
-
76
- @implementation JWTClaimExpirationTime
77
-
78
- + (NSString *)name {
79
- return @"exp";
80
- }
81
-
82
- + (BOOL)verifyValue:(NSDate *)value withTrustedValue:(NSDate *)trustedValue {
83
- // trustedValue - current date
84
- // value - expiration date
85
- // trustedValue < value, so
86
- return [trustedValue compare:value] == NSOrderedAscending;
87
- }
88
-
89
- @end
90
-
91
- @interface JWTClaimNotBefore : JWTClaim
92
-
93
- @end
94
-
95
- @implementation JWTClaimNotBefore
96
-
97
- + (NSString *)name {
98
- return @"nbf";
99
- }
100
-
101
- + (BOOL)verifyValue:(NSDate *)value withTrustedValue:(NSDate *)trustedValue {
102
- // trustedValue - current date
103
- // value - start date
104
- // value <= trustedValue, so
105
- // trustedValue >= value, which means:
106
- // !(trustedValue < value) or NOT OrderedAscending
107
- return [trustedValue compare:value] != NSOrderedAscending;
108
- }
109
-
110
- @end
111
-
112
- @interface JWTClaimIssuedAt : JWTClaim
113
-
114
- @end
115
-
116
- @implementation JWTClaimIssuedAt
117
-
118
- + (NSString *)name {
119
- return @"iat";
120
- }
121
-
122
- + (BOOL)verifyValue:(NSDate *)value withTrustedValue:(NSDate *)trustedValue {
123
- // trustedValue - current date
124
- // value - issued at date
125
- // value < trustedValue, so
126
- // trustedValue > value
127
- return [trustedValue compare:value] == NSOrderedDescending;
128
- }
129
-
130
- @end
131
-
132
- @interface JWTClaimJWTID : JWTClaim
133
-
134
- @end
135
-
136
- @implementation JWTClaimJWTID
137
-
138
- + (NSString *)name {
139
- return @"jti";
140
- }
141
-
142
- + (BOOL)verifyValue:(NSString *)value withTrustedValue:(NSString *)trustedValue {
143
- return [trustedValue isEqualToString:value];
144
- }
145
-
146
- @end
147
-
148
- @interface JWTClaimType : JWTClaim
149
-
150
- @end
151
-
152
- @implementation JWTClaimType
153
-
154
- + (NSString *)name {
155
- return @"typ";
156
- }
157
-
158
- + (BOOL)verifyValue:(NSString *)value withTrustedValue:(NSString *)trustedValue {
159
- return [trustedValue isEqualToString:value];
160
- }
161
-
162
- @end
163
-
164
- @interface JWTClaimScope : JWTClaim
165
-
166
- @end
167
-
168
- @implementation JWTClaimScope
169
-
170
- + (NSString *)name {
171
- return @"scope";
172
- }
173
-
174
- + (BOOL)verifyValue:(NSString *)value withTrustedValue:(NSString *)trustedValue {
175
- return [trustedValue isEqualToString:value];
176
- }
177
-
178
- @end
179
-
180
-
181
- @implementation JWTClaim
182
- + (NSString *)name {
183
- return @"";
184
- }
185
-
186
- + (NSDictionary *)claimsAndNames {
187
- static NSDictionary *dictionary = nil;
188
- return dictionary ? dictionary : (dictionary = @{
189
- [JWTClaimIssuer name] : [JWTClaimIssuer new],
190
- [JWTClaimSubject name] : [JWTClaimSubject new],
191
- [JWTClaimAudience name] : [JWTClaimAudience new],
192
- [JWTClaimExpirationTime name] : [JWTClaimExpirationTime new],
193
- [JWTClaimNotBefore name] : [JWTClaimNotBefore new],
194
- [JWTClaimIssuedAt name] : [JWTClaimIssuedAt new],
195
- [JWTClaimJWTID name] : [JWTClaimJWTID new],
196
- [JWTClaimType name] : [JWTClaimType new],
197
- [JWTClaimScope name] : [JWTClaimScope new]
198
- }, dictionary);
199
- }
200
-
201
- + (instancetype)claimByName:(NSString *)name {
202
- return [self claimsAndNames][name];
203
- }
204
-
205
- + (BOOL)verifyValue:(NSObject *)value withTrustedValue:(NSObject *)trustedValue {
206
- return NO;
207
- }
208
-
209
- - (BOOL)verifyValue:(NSObject *)value withTrustedValue:(NSObject *)trustedValue {
210
- return [self.class verifyValue:value withTrustedValue:trustedValue];
211
- }
212
-
213
- @end
214
-
@@ -1,23 +0,0 @@
1
- //
2
- // JWTClaimsSet.h
3
- // JWT
4
- //
5
- // Created by Klaas Pieter Annema on 31-05-13.
6
- // Copyright (c) 2013 Karma. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- @interface JWTClaimsSet : NSObject<NSCopying>
12
-
13
- @property (nonatomic, readwrite, copy) NSString *issuer;
14
- @property (nonatomic, readwrite, copy) NSString *subject;
15
- @property (nonatomic, readwrite, copy) NSString *audience;
16
- @property (nonatomic, readwrite, copy) NSDate *expirationDate;
17
- @property (nonatomic, readwrite, copy) NSDate *notBeforeDate;
18
- @property (nonatomic, readwrite, copy) NSDate *issuedAt;
19
- @property (nonatomic, readwrite, copy) NSString *identifier;
20
- @property (nonatomic, readwrite, copy) NSString *type;
21
- @property (nonatomic, readwrite, copy) NSString *scope;
22
-
23
- @end
@@ -1,29 +0,0 @@
1
- //
2
- // JWTClaimsSet.m
3
- // JWT
4
- //
5
- // Created by Klaas Pieter Annema on 31-05-13.
6
- // Copyright (c) 2013 Karma. All rights reserved.
7
- //
8
-
9
- #import "JWTClaimsSet.h"
10
-
11
- @implementation JWTClaimsSet
12
-
13
- - (id)copyWithZone:(NSZone *)zone {
14
- JWTClaimsSet *newClaimsSet = [[self.class alloc] init];
15
-
16
- newClaimsSet.issuer = self.issuer;
17
- newClaimsSet.subject = self.subject;
18
- newClaimsSet.audience = self.audience;
19
- newClaimsSet.expirationDate = self.expirationDate;
20
- newClaimsSet.notBeforeDate = self.notBeforeDate;
21
- newClaimsSet.issuedAt = self.issuedAt;
22
- newClaimsSet.identifier = self.identifier;
23
- newClaimsSet.type = self.type;
24
- newClaimsSet.scope = self.scope;
25
-
26
- return newClaimsSet;
27
- }
28
-
29
- @end
@@ -1,19 +0,0 @@
1
- //
2
- // JWTClaimsSetSerializer.h
3
- // JWT
4
- //
5
- // Created by Klaas Pieter Annema on 31-05-13.
6
- // Copyright (c) 2013 Karma. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- #import "JWTClaimsSet.h"
12
-
13
- @interface JWTClaimsSetSerializer : NSObject
14
-
15
- + (NSArray *)claimsSetKeys;
16
- + (NSDictionary *)dictionaryWithClaimsSet:(JWTClaimsSet *)theClaimsSet;
17
- + (JWTClaimsSet *)claimsSetWithDictionary:(NSDictionary *)theDictionary;
18
-
19
- @end
@@ -1,68 +0,0 @@
1
- //
2
- // JWTClaimsSetSerializer.m
3
- // JWT
4
- //
5
- // Created by Klaas Pieter Annema on 31-05-13.
6
- // Copyright (c) 2013 Karma. All rights reserved.
7
- //
8
-
9
- #import "JWTClaimsSetSerializer.h"
10
-
11
- @implementation JWTClaimsSetSerializer
12
-
13
- + (NSArray *)claimsSetKeys
14
- {
15
- return @[@"iss", @"sub", @"aud", @"exp", @"nbf", @"iat", @"jti", @"typ", @"scope"];
16
- }
17
-
18
- + (NSDictionary *)dictionaryWithClaimsSet:(JWTClaimsSet *)theClaimsSet;
19
- {
20
- NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
21
- [self dictionary:dictionary setObjectIfNotNil:theClaimsSet.issuer forKey:@"iss"];
22
- [self dictionary:dictionary setObjectIfNotNil:theClaimsSet.subject forKey:@"sub"];
23
- [self dictionary:dictionary setObjectIfNotNil:theClaimsSet.audience forKey:@"aud"];
24
- [self dictionary:dictionary setDateIfNotNil:theClaimsSet.expirationDate forKey:@"exp"];
25
- [self dictionary:dictionary setDateIfNotNil:theClaimsSet.notBeforeDate forKey:@"nbf"];
26
- [self dictionary:dictionary setDateIfNotNil:theClaimsSet.issuedAt forKey:@"iat"];
27
- [self dictionary:dictionary setObjectIfNotNil:theClaimsSet.identifier forKey:@"jti"];
28
- [self dictionary:dictionary setObjectIfNotNil:theClaimsSet.type forKey:@"typ"];
29
- [self dictionary:dictionary setObjectIfNotNil:theClaimsSet.scope forKey:@"scope"];
30
-
31
- return [dictionary copy];
32
- }
33
-
34
- + (JWTClaimsSet *)claimsSetWithDictionary:(NSDictionary *)theDictionary;
35
- {
36
- JWTClaimsSet *claimsSet = [[JWTClaimsSet alloc] init];
37
- claimsSet.issuer = [theDictionary objectForKey:@"iss"];
38
- claimsSet.subject = [theDictionary objectForKey:@"sub"];
39
- claimsSet.audience = [theDictionary objectForKey:@"aud"];
40
- claimsSet.expirationDate = [NSDate dateWithTimeIntervalSince1970:[[theDictionary objectForKey:@"exp"] doubleValue]];
41
- claimsSet.notBeforeDate = [NSDate dateWithTimeIntervalSince1970:[[theDictionary objectForKey:@"nbf"] doubleValue]];
42
- claimsSet.issuedAt = [NSDate dateWithTimeIntervalSince1970:[[theDictionary objectForKey:@"iat"] doubleValue]];
43
- claimsSet.identifier = [theDictionary objectForKey:@"jti"];
44
- claimsSet.type = [theDictionary objectForKey:@"typ"];
45
- claimsSet.scope = [theDictionary objectForKey:@"scope"];
46
-
47
- return claimsSet;
48
- }
49
-
50
- + (void)dictionary:(NSMutableDictionary *)theDictionary setObjectIfNotNil:(id)theObject forKey:(id<NSCopying>)theKey;
51
- {
52
- if (!theObject)
53
- return;
54
-
55
- [theDictionary setObject:theObject forKey:theKey];
56
- }
57
-
58
- + (void)dictionary:(NSMutableDictionary *)theDictionary setDateIfNotNil:(NSDate*)date forKey:(id<NSCopying>)theKey;
59
- {
60
- if (!date)
61
- return;
62
- NSNumber* value = @((unsigned long)[date timeIntervalSince1970]);
63
-
64
- [theDictionary setObject:value forKey:theKey];
65
- }
66
-
67
-
68
- @end
@@ -1,18 +0,0 @@
1
- //
2
- // JWTClaimsSetVerifier.h
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 13.02.16.
6
- // Copyright © 2016 Karma. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "JWTClaimsSet.h"
11
-
12
- @interface JWTClaimsSetVerifier : NSObject
13
-
14
- + (BOOL)verifyClaimsSet:(JWTClaimsSet *)theClaimsSet withTrustedClaimsSet:(JWTClaimsSet *)trustedClaimsSet;
15
-
16
- + (BOOL)verifyClaimsSetDictionary:(NSDictionary *)theClaimsSetDictionary withTrustedClaimsSet:(JWTClaimsSet *)trustedClaimsSet;
17
-
18
- @end
@@ -1,72 +0,0 @@
1
- //
2
- // JWTClaimsSetVerifier.m
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 13.02.16.
6
- // Copyright © 2016 Karma. All rights reserved.
7
- //
8
-
9
- #import "JWTClaimsSetVerifier.h"
10
- #import "JWTClaimsSetSerializer.h"
11
- #import "JWTClaim.h"
12
-
13
- @implementation JWTClaimsSetVerifier
14
-
15
- + (BOOL)verifyDictionary:(NSDictionary *)dictionary withTrustedDictionary:(NSDictionary *)trustedDictionary byKey:(NSString *)key {
16
- NSObject *value = dictionary[key];
17
- NSObject *trustedValue = trustedDictionary[key];
18
-
19
- BOOL result = YES;
20
-
21
- if (trustedValue) {
22
- result = [[JWTClaim claimByName:key] verifyValue:value withTrustedValue:trustedValue];
23
- }
24
-
25
- return result;
26
- }
27
-
28
- + (BOOL)verifyClaimsSetDictionary:(NSDictionary *)theClaimsSetDictionary withTrustedClaimsSetDictionary:(NSDictionary *)trustedClaimsSetDictionary {
29
-
30
- NSArray *claimsSets = [JWTClaimsSetSerializer claimsSetKeys];
31
-
32
- if (!trustedClaimsSetDictionary) {
33
- return YES;
34
- }
35
-
36
- if (!theClaimsSetDictionary) {
37
- return NO;
38
- }
39
-
40
- BOOL result = YES;
41
-
42
- for (NSString *key in claimsSets) {
43
- result = result && [self verifyDictionary:theClaimsSetDictionary withTrustedDictionary:trustedClaimsSetDictionary byKey:key];
44
- }
45
-
46
- return result;
47
- }
48
-
49
-
50
- + (BOOL)verifyClaimsSet:(JWTClaimsSet *)theClaimsSet withTrustedClaimsSet:(JWTClaimsSet *)trustedClaimsSet {
51
-
52
- NSDictionary *dictionary = [JWTClaimsSetSerializer dictionaryWithClaimsSet:theClaimsSet];
53
-
54
- NSDictionary *trustedDictionary = [JWTClaimsSetSerializer dictionaryWithClaimsSet:trustedClaimsSet];
55
-
56
- NSArray *claimsSets = [JWTClaimsSetSerializer claimsSetKeys];
57
-
58
- BOOL result = YES;
59
- for (NSString *key in claimsSets) {
60
- result = result && [self verifyDictionary:dictionary withTrustedDictionary:trustedDictionary byKey:key];
61
- }
62
-
63
- return result;
64
- }
65
-
66
- + (BOOL)verifyClaimsSetDictionary:(NSDictionary *)theClaimsSetDictionary withTrustedClaimsSet:(JWTClaimsSet *)trustedClaimsSet {
67
- NSDictionary *trustedDictionary = [JWTClaimsSetSerializer dictionaryWithClaimsSet:trustedClaimsSet];
68
-
69
- return [self verifyClaimsSetDictionary:theClaimsSetDictionary withTrustedClaimsSetDictionary:trustedDictionary];
70
- }
71
-
72
- @end
@@ -1,67 +0,0 @@
1
- //
2
- // JWTCoding+ResultTypes.h
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 30.11.16.
6
- // Copyright © 2016 JWTIO. All rights reserved.
7
- //
8
-
9
- #import <JWTCoding.h>
10
- @class JWTClaimsSet;
11
-
12
- extern NSString *JWTCodingResultHeaders;
13
- extern NSString *JWTCodingResultPayload;
14
-
15
- @interface JWT (ResultTypes) @end
16
-
17
- /*
18
- ResultType
19
- /\
20
- / \
21
- / \
22
- Success Error
23
-
24
- Protocols: Mutable and Immutable (?!?)
25
- */
26
-
27
- // Public
28
- @protocol JWTCodingResultTypeSuccessEncodedProtocol <NSObject>
29
- @property (copy, nonatomic, readonly) NSString *encoded;
30
- - (instancetype)initWithEncoded:(NSString *)encoded;
31
- @property (copy, nonatomic, readonly) NSString *token;
32
- - (instancetype)initWithToken:(NSString *)token;
33
- @end
34
-
35
- // Public
36
- @protocol JWTCodingResultTypeSuccessDecodedProtocol <NSObject>
37
- @property (copy, nonatomic, readonly) NSDictionary *headers;
38
- @property (copy, nonatomic, readonly) NSDictionary *payload;
39
-
40
- // dictionary @{
41
- // JWTCodingResultHeaders : self.headers,
42
- // JWTCodingResultPayload : self.payload
43
- //}
44
- @property (copy, nonatomic, readonly) NSDictionary *headerAndPayloadDictionary;
45
-
46
- @property (nonatomic, readonly) JWTClaimsSet *claimsSet;
47
- - (instancetype)initWithHeaders:(NSDictionary *)headers withPayload:(NSDictionary *)payload;
48
- - (instancetype)initWithClaimsSet:(JWTClaimsSet *)claimsSet;
49
- @end
50
-
51
- // Public
52
- @interface JWTCodingResultTypeSuccess : NSObject <JWTCodingResultTypeSuccessEncodedProtocol,JWTCodingResultTypeSuccessDecodedProtocol> @end
53
-
54
- // Public
55
- @protocol JWTCodingResultTypeErrorProtocol <NSObject>
56
- @property (copy, nonatomic, readonly) NSError *error;
57
- - (instancetype)initWithError:(NSError *)error;
58
- @end
59
-
60
- @interface JWTCodingResultTypeError : NSObject <JWTCodingResultTypeErrorProtocol> @end
61
-
62
- @interface JWTCodingResultType : NSObject
63
- - (instancetype)initWithSuccessResult:(JWTCodingResultTypeSuccess *)success;
64
- - (instancetype)initWithErrorResult:(JWTCodingResultTypeError *)error;
65
- @property (strong, nonatomic, readonly) JWTCodingResultTypeSuccess *successResult;
66
- @property (strong, nonatomic, readonly) JWTCodingResultTypeError *errorResult;
67
- @end
@@ -1,111 +0,0 @@
1
- //
2
- // JWTCoding+ResultTypes.m
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 30.11.16.
6
- // Copyright © 2016 JWTIO. All rights reserved.
7
- //
8
-
9
- #import "JWTCoding+ResultTypes.h"
10
-
11
- NSString *JWTCodingResultHeaders = @"header";
12
- NSString *JWTCodingResultPayload = @"payload";
13
-
14
- @implementation JWT (ResultTypes) @end
15
-
16
- // Protected?
17
- @protocol JWTMutableCodingResultTypeSuccessEncodedProtocol <JWTCodingResultTypeSuccessEncodedProtocol>
18
- @property (copy, nonatomic, readwrite) NSString *encoded;
19
- @property (copy, nonatomic, readwrite) NSString *token;
20
- @end
21
-
22
- // Protected?
23
- @protocol JWTMutableCodingResultTypeSuccessDecodedProtocol <JWTCodingResultTypeSuccessDecodedProtocol>
24
- @property (copy, nonatomic, readwrite) NSDictionary *headers;
25
- @property (copy, nonatomic, readwrite) NSDictionary *payload;
26
- @property (nonatomic, readwrite) JWTClaimsSet *claimsSet;
27
- @end
28
-
29
- // Protected?
30
- @protocol JWTMutableCodingResultTypeErrorProtocol <JWTCodingResultTypeErrorProtocol>
31
- @property (copy, nonatomic, readwrite) NSError *error;
32
- @end
33
-
34
- @interface JWTCodingResultTypeSuccess () <JWTMutableCodingResultTypeSuccessEncodedProtocol, JWTMutableCodingResultTypeSuccessDecodedProtocol> @end
35
-
36
- @implementation JWTCodingResultTypeSuccess
37
- @synthesize encoded = _encoded;
38
- @synthesize headers = _headers;
39
- @synthesize payload = _payload;
40
- @synthesize claimsSet = _claimsSet;
41
- //Not used yet. Could be replacement for _encoded.
42
- @synthesize token = _token;
43
-
44
- - (NSDictionary *)headerAndPayloadDictionary {
45
- if (self.headers && self.payload) {
46
- return @{
47
- JWTCodingResultHeaders: self.headers,
48
- JWTCodingResultPayload: self.payload
49
- };
50
- }
51
- return nil;
52
- }
53
- - (instancetype)initWithEncoded:(NSString *)encoded {
54
- if (self = [super init]) {
55
- self.encoded = encoded;
56
- }
57
- return self;
58
- }
59
- - (instancetype)initWithToken:(NSString *)token {
60
- if (self = [super init]) {
61
- self.token = token;
62
- }
63
- return self;
64
- }
65
- - (instancetype)initWithHeaders:(NSDictionary *)headers withPayload:(NSDictionary *)payload {
66
- if (self = [super init]) {
67
- self.headers = headers;
68
- self.payload = payload;
69
- }
70
- return self;
71
- }
72
- - (instancetype)initWithClaimsSet:(JWTClaimsSet *)claimsSet {
73
- if (self = [super init]) {
74
- self.claimsSet = claimsSet;
75
- }
76
- return self;
77
- }
78
- @end
79
-
80
- @interface JWTCodingResultTypeError () <JWTMutableCodingResultTypeErrorProtocol> @end
81
-
82
- @implementation JWTCodingResultTypeError
83
- @synthesize error = _error;
84
- - (instancetype)initWithError:(NSError *)error {
85
- if (self = [super init]) {
86
- self.error = error;
87
- }
88
- return self;
89
- }
90
- @end
91
-
92
- @interface JWTCodingResultType ()
93
- @property (strong, nonatomic, readwrite) JWTCodingResultTypeSuccess *successResult;
94
- @property (strong, nonatomic, readwrite) JWTCodingResultTypeError *errorResult;
95
- @end
96
-
97
- @implementation JWTCodingResultType
98
- - (instancetype)initWithSuccessResult:(JWTCodingResultTypeSuccess *)success {
99
- if (self = [super init]) {
100
- self.successResult = success;
101
- }
102
- return self;
103
- }
104
- - (instancetype)initWithErrorResult:(JWTCodingResultTypeError *)error {
105
- if (self = [super init]) {
106
- self.errorResult = error;
107
- }
108
- return self;
109
- }
110
-
111
- @end