Skip to content

Releases: auth0/JWTDecode.swift

2.1.0

27 Sep 15:59

Choose a tag to compare

Added

2.0.0

14 Sep 22:28
16b20ee

Choose a tag to compare

Full Changelog

Support for Xcode 8 & Swift 3.

Following Swift API Guidelines, all functions and methods requires a parameter label.

So now to decode a token

try JWTDecode.decode(jwt: "token")

Also now JWTDecode errors conforms the protocol LocalizableError

public enum DecodeError: LocalizedError {
    case invalidBase64Url(String)
    case invalidJSON(String)
    case invalidPartCount(String, Int)

    public var localizedDescription: String {
        switch self {
        case .invalidJSON(let value):
            return NSLocalizedString("Malformed jwt token, failed to parse JSON value from base64Url \(value)", comment: "Invalid JSON value inside base64Url")
        case .invalidPartCount(let jwt, let parts):
            return NSLocalizedString("Malformed jwt token \(jwt) has \(parts) parts when it should have 3 parts", comment: "Invalid amount of jwt parts")
        case .invalidBase64Url(let value):
            return NSLocalizedString("Malformed jwt token, failed to decode base64Url value \(value)", comment: "Invalid JWT token base64Url value")
        }
    }
}

1.2.0

13 Sep 12:45
02d8a5c

Choose a tag to compare

Full Changelog

Support for Xcode 8 & Swift 2.3.

1.1.0

17 Aug 15:10
3a6eb66

Choose a tag to compare

Full Changelog

Changed:

  • Rework how claims are decoded #35 (hzalaz)
  • Add expired method to A0JWT #25 (wkoszek)
  • Require only App Extension Safe API (in iOS) #20 (hzalaz)

Added:

Deprecated:

To provide a better experience while dealing with claims and converting their values to Swift types, we deprecated the following method to retrive JWT claims

public func claim<T>(name: String) -> T?

In favor of the following method to retrieve the claim

let claim = jwt.claim(name: "claim_name")

and then you can try converting it's value to the proper type like

if let email = claim.string {
    print("JWT had email \(email)")
}

The supported conversions are:

var string: String?
var integer: Int?
var double: Double?
var date: NSDate?
var array: [String]?

1.0.0

16 Sep 19:47

Choose a tag to compare

Full Changelog

Fixed bugs:

  • Can this target 8.0 instead of 8.3? #10

Merged pull requests:

0.3.2

21 Aug 20:57

Choose a tag to compare

0.3.1

25 Jul 15:00

Choose a tag to compare

Full Changelog

Closed issues:

  • Failing to install via carthage #6

Merged pull requests:

  • Carthage with submodules #8 (hzalaz)
  • Build test only when running tests #7 (hzalaz)

0.3.0

25 Jul 15:00

Choose a tag to compare

Full Changelog

Merged pull requests:

0.2.2

25 Jul 15:00

Choose a tag to compare

Full Changelog

Closed issues:

  • Issue with time of expiration. #3

0.2.1

25 Jul 15:00

Choose a tag to compare

Full Changelog

Closed issues:

  • Invalid id_token claims part. Failed to decode base64 #1

Merged pull requests: