Вы должны иметь возможность декодировать токен v1 в структуру без проверки, используя следующий код:
struct AzureJWTClaims: Claims {
let aud: String
let iss: String
let iat: Date
let nbf: Date
let exp: Date
let acr: String
let aio: String
let amr: [String]
let appid: String
let appidacr: String
let email: String
let family_name: String
let given_name: String
let idp: String
let ipaddr: String
let name: String
let oid: String
let rh: String
let scp: String
let sub: String
let tid: String
let unique_name: String
let uti: String
let ver: String
}
let jwt = try? JWT<AzureJWTClaims>(jwtString: "<YourJWTString>", verifier: .none)
Если вы также хотите проверить JWT, вам нужно создать JWTVerifier
изОткрытый ключ RSA в кодировке PEM:
let verifier = JWTVerifier.rs256(publicKey: Data("<PEM public key>".utf8))
Затем передайте это декодеру:
let verifiedJWT = try? JWT<AzureJWTClaims>(jwtString: "<YourJWTString>", verifier: verifier)