@@ -9,10 +9,10 @@ class JWTTests: XCTestCase {
9
9
defer { app. shutdown ( ) }
10
10
11
11
// Add HMAC with SHA-256 signer.
12
- await app. jwt. keys. addHS256 ( key: " secret " )
12
+ await app. jwt. keys. addHMAC ( key: " secret " , digestAlgorithm : . sha256 )
13
13
14
- await app. jwt. keys. addHS256 ( key: " foo " , kid: " a " )
15
- await app. jwt. keys. addHS256 ( key: " bar " , kid: " b " )
14
+ await app. jwt. keys. addHMAC ( key: " foo " , digestAlgorithm : . sha256 , kid: " a " )
15
+ await app. jwt. keys. addHMAC ( key: " bar " , digestAlgorithm : . sha256 , kid: " b " )
16
16
17
17
app. jwt. apple. applicationIdentifier = " ... "
18
18
app. get ( " apple " ) { req async throws -> HTTPStatus in
@@ -62,7 +62,7 @@ class JWTTests: XCTestCase {
62
62
// signature verification here.
63
63
// Since we have an ExpirationClaim, we will
64
64
// call its verify method.
65
- func verify( using _: JWTAlgorithm ) async throws {
65
+ func verify( using _: some JWTAlgorithm ) async throws {
66
66
try self . expiration. verifyNotExpired ( )
67
67
}
68
68
}
@@ -124,7 +124,7 @@ class JWTTests: XCTestCase {
124
124
defer { app. shutdown ( ) }
125
125
126
126
// configures an es512 signer using random key
127
- await app. jwt. keys. addES512 ( key: ES512PrivateKey ( ) )
127
+ await app. jwt. keys. addECDSA ( key: ES512PrivateKey ( ) )
128
128
129
129
// jwt creation using req.jwt.sign
130
130
app. post ( " login " ) { req async throws -> LoginResponse in
@@ -166,7 +166,7 @@ class JWTTests: XCTestCase {
166
166
167
167
// create a token from a different signer
168
168
let fakeToken = try await JWTKeyCollection ( )
169
- . addES512 ( key: ES512PrivateKey ( ) ) . sign ( TestUser ( name: " bob " ) )
169
+ . addECDSA ( key: ES512PrivateKey ( ) ) . sign ( TestUser ( name: " bob " ) )
170
170
try app. testable ( ) . test (
171
171
. GET, " me " , headers: [ " authorization " : " Bearer \( fakeToken) " ]
172
172
) { res in
@@ -181,7 +181,7 @@ class JWTTests: XCTestCase {
181
181
defer { app. shutdown ( ) }
182
182
183
183
// configures an es512 signer using random key
184
- await app. jwt. keys. addES512 ( key: ES512PrivateKey ( ) )
184
+ await app. jwt. keys. addECDSA ( key: ES512PrivateKey ( ) )
185
185
186
186
// jwt creation using req.jwt.sign
187
187
app. post ( " login " ) { req async throws -> LoginResponse in
@@ -241,7 +241,7 @@ class JWTTests: XCTestCase {
241
241
}
242
242
243
243
// create a token from a different signer
244
- let fakeToken = try await JWTKeyCollection ( ) . addES512 ( key: ES512PrivateKey ( ) ) . sign ( TestUser ( name: " bob " ) )
244
+ let fakeToken = try await JWTKeyCollection ( ) . addECDSA ( key: ES512PrivateKey ( ) ) . sign ( TestUser ( name: " bob " ) )
245
245
try app. testable ( ) . test (
246
246
. GET, " me " , headers: [ " authorization " : " Bearer \( fakeToken) " ]
247
247
) { res in
@@ -287,7 +287,7 @@ class JWTTests: XCTestCase {
287
287
var id : UUID
288
288
var userName : String
289
289
290
- func verify( using _: JWTAlgorithm ) throws { }
290
+ func verify( using _: some JWTAlgorithm ) throws { }
291
291
}
292
292
293
293
// creates a new application for testing
@@ -324,7 +324,10 @@ class JWTTests: XCTestCase {
324
324
-----END RSA PRIVATE KEY-----
325
325
"""
326
326
327
- try await app. jwt. keys. addRS256 ( key: Insecure . RSA. PrivateKey ( pem: [ UInt8] ( privateKeyString. utf8) ) )
327
+ try await app. jwt. keys. addRSA (
328
+ key: Insecure . RSA. PrivateKey ( pem: [ UInt8] ( privateKeyString. utf8) ) ,
329
+ digestAlgorithm: . sha256
330
+ )
328
331
329
332
app. get { req async throws -> String in
330
333
let authorizationPayload = UserPayload ( id: UUID ( ) , userName: " John Smith " )
@@ -370,7 +373,7 @@ struct LoginCredentials: Content {
370
373
struct TestUser : Content , Authenticatable , JWTPayload {
371
374
var name : String
372
375
373
- func verify( using _: JWTAlgorithm ) throws {
376
+ func verify( using _: some JWTAlgorithm ) throws {
374
377
// nothing to verify
375
378
}
376
379
}
0 commit comments