File tree Expand file tree Collapse file tree 2 files changed +9
-9
lines changed
Expand file tree Collapse file tree 2 files changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -6,4 +6,12 @@ class CompactJSONEncoder: JSONEncoder {
66 func encodeString< T: Encodable > ( _ value: T ) throws -> String {
77 return base64encode ( try super. encode ( value) )
88 }
9+
10+ func encodeString( _ value: [ String : Any ] ) -> String ? {
11+ if let data = try ? JSONSerialization . data ( withJSONObject: value) {
12+ return base64encode ( data)
13+ }
14+
15+ return nil
16+ }
917}
Original file line number Diff line number Diff line change @@ -8,22 +8,14 @@ import Foundation
88public func encode( claims: ClaimSet , algorithm: Algorithm , headers: [ String : String ] ? = nil ) -> String {
99 let encoder = CompactJSONEncoder ( )
1010
11- func encodeJSON( _ payload: [ String : Any ] ) -> String ? {
12- if let data = try ? JSONSerialization . data ( withJSONObject: payload) {
13- return base64encode ( data)
14- }
15-
16- return nil
17- }
18-
1911 var headers = headers ?? [ : ]
2012 if !headers. keys. contains ( " typ " ) {
2113 headers [ " typ " ] = " JWT "
2214 }
2315 headers [ " alg " ] = algorithm. description
2416
2517 let header = try ! encoder. encodeString ( headers)
26- let payload = encodeJSON ( claims. claims) !
18+ let payload = encoder . encodeString ( claims. claims) !
2719 let signingInput = " \( header) . \( payload) "
2820 let signature = algorithm. sign ( signingInput)
2921 return " \( signingInput) . \( signature) "
You can’t perform that action at this time.
0 commit comments