Swiftpack.co - ericlewis/THOTP as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by ericlewis.
ericlewis/THOTP 1.0.66
Time-base & HMAC-based one-time password generator for iOS, tvOS, watchOS, and macOS
⭐️ 14
🕓 42 weeks ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/ericlewis/THOTP.git", from: "1.0.66")

THOTP Logo

Build Status License: MIT Swift: 5.1 SwiftPM: Compatible Platforms: iOS – tvOS – watchOS - macOS

InstallationUsageDocumentationLicenseIssuesPull Requests

TOTP & HOTP generator for iOS, tvOS, watchOS, and macOS

Pure Swift implementation of time-based and HMAC-based one-time password generators. Heavily inspired by the OneTimePassword library from @mattrubin. Protocol based design, so you won't find any subclasses here.

Installation

THOTP can be installed via Swift Package Manager.

Supported platforms are iOS (13.0+), tvOS (13.0+), watchOS (6.0+), and macOS (10.15+).

Swift Package Manager

The easiest integration is to use the built in package manager tools in Xcode 11.0+. You can also do it manually.

Add the following as a dependency to your Package.swift:

.package(url: "https://github.com/ericlewis/THOTP.git", .upToNextMajor(from: "1.0.0"))

After specifying THOTP as a dependency of the target in which you want to use it, run:

swift package update

Usage

By default, this includes basic concrete types for Password & Generators. If you are interested in persistence, there are a couple of options to choose from:

  • Implement PasswordProtocol with your own concrete type, such as NSManagedObject
  • Use Valet-THOTP, which adds extensions + a new concrete type for easily persisting using Valet

Basic

The simplest usage is to parse a URL. THOTP is compatible with Google Authenticator's URI Scheme.

let password = try? Password(url: URL(string: "otpauth://totp/test?secret=GEZDGNBV")!)
print(password.currentPassword) // 123321

Documentation

Docs are generated with jazzy & can be found here. The process is currently manual, so it's possible for documentation to be out of date. Tests are a great way to see how to use this library.

License

This library is released under the MIT License. See LICENSE for details.

GitHub

link
Stars: 14
Last commit: 43 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

1.0.66
43 weeks ago

What's Changed

Full Changelog: https://github.com/ericlewis/THOTP/compare/1.0.65...1.0.66

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics