GithubHelp home page GithubHelp logo

gaetanomatonti / uno Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 4.0 60 KB

A simple OTP generator written in Swift.

License: MIT License

Swift 100.00%
otp totp swift spm onetimepassword hotp authentication ios macos xcode

uno's People

Contributors

gaetanomatonti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

uno's Issues

Add Open-Source Documentation

Open-source documentation should be added to the repository, like license, contributing and package installation documentation.

Add OTP Metadata Encoding for Safe Backups

Description

When using a device for multi-factor authentication through OTPs, metadata should be stored and backed up (on a cloud solution presumably) so that users won't lose access to the authentication when deleting the app or switching device.
A good approach would be to encode the metadata (updated with the correct counter for counter-based OTPs), encrypt it so that only the app is able to decrypt it (maybe with CloudKit encrypted fields) and providing it to the client for backup.

Add TOTP Generation

TOTPs (Time-based One-Time Passwords) extend the implementation of the HOTP by replacing the moving factor of the counter with time.

[BUG] QR Code URI Parsing Failed

Describe the bug
When trying to parse the URI contained in a QR Code provided by Twitch the parsing fails.

To Reproduce
Steps to reproduce the behavior:

  1. Go to twitch.tv
  2. Log in and go to the Security settings of your account
  3. Set up 2FA with app
  4. Scan the QR Code with an app using Uno

Expected behavior
The QR Code is scanned successfully.

Additional context
The content of the QR Code is the following
otpauth://totp/Twitch?secret={SECRET}&issuer=Twitch

Add OTP Metadata

Description

We should add an object that describes the metadata of an OTP (information required for an OTP to be generated and associated to a service).

Add Support for Base32 Secrets

Most OTP secrets are Base32-encoded strings, so it would be nice to support it.
We might consider adding a library as a dependency, either third-party or created by ourselves.

Add Counter Mechanism for Counter-based OTPs

Description

The counter update mechanism should be implemented for HOTPs.
Whenever a new HOTP is generated the counter is incremented by one. Every time the counter is updated, it should be stored (ideally in the Keychain).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.