github vapor/vapor 4.31.0
OTP implementation

latest releases: 4.100.0, 4.99.3, 4.99.2...
3 years ago
This patch was authored by @Craz1k0ek and released by @MrLotU.

Adds HOTP & TOTP support. (#2499)

The HOTP can be created as an object, or it can be statically generated once:

let key = SymmetricKey(size: .bits128)
let code = HOTP(key: key, digest: .sha1, digits: .six).generate(counter: 15)

HOTP.generate(key: key, digest: .sha1, digits: .six, counter: 15)

The TOTP can be created as an object, or it can be statically generated once:

let key = SymmetricKey(size: .bits128)
let code = TOTP(key: key, digest: .sha1, digits: .six, interval: 30).generate(time: Date())

TOTP.generate(key: key, digest: .sha1, digits: .six, interval: 30, time: Date())

Don't miss a new vapor release

NewReleases is sending notifications on new releases.