【问题标题】:Swift: How to decode Base64Url into json object like JWTSwift:如何将 Base64Url 解码为 JWT 之类的 json 对象
【发布时间】:2019-10-08 23:39:56
【问题描述】:
我有以下 JWT 编码负载:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJUaXRsZSI6Ik5pY2UiLCJuYW1lIjoiSmltbXkiLCJhZ2UiOjU1fQ.DSdqRFRPM4Hep704s3cvWkpH5FFpnIc82uVUswHbaz4
但我还没有找到像JWT 那样解码这个字符串的方法。
你们中的任何人都知道快速解码此有效负载的方法吗?
非常感谢您的帮助。
【问题讨论】:
标签:
jwt
ios13
xcode11
jwt-auth
swift5.2
【解决方案1】:
添加依赖
将 Swift-JWT 包添加到应用程序的 Package.swift 文件中的依赖项中。用最新的 Swift-JWT 版本替换“x.x.x”。
.package(url: "https://github.com/IBM-Swift/Swift-JWT.git", from: "x.x.x")
将 SwiftJWT 添加到目标的依赖项中:
.target(name: "example", dependencies: ["SwiftJWT"]),
导入包
import SwiftJWT
可可足类
要在使用 CocoaPods 的项目中包含 Swift-JWT,请将 SwiftJWT 添加到您的 Podfile:
pod 'SwiftJWT'
试试这个代码:
let jwtEncoder = JWTEncoder(jwtSigner: jwtSigner)
let jwtString = try jwtEncoder.encodeToString(myJWT)
let jwtDecoder = JWTDecoder(jwtVerifier: jwtVerifier)
let jwt = try jwtDecoder.decode(JWT<MyClaims>.self, fromString: jwtString)
对于documentation