Skip to content

An open source 2FA authenticator app for iOS and Android built using SocketSupply.

License

Notifications You must be signed in to change notification settings

frankolson/open-authenticator

Repository files navigation

Open Authenticator

An open source 2FA authenticator app for iOS and Android built using SocketSupply.

Table of Contents

Introduction

Open Authenticator is a free and open-source two-factor authentication (2FA) app designed to enhance the security of your online accounts. It supports both iOS and Android platforms and is built using the SocketSupply framework.

Features

  • Open Source: Fully open source, allowing for community contributions and transparency.
  • Offline: Works without an internet connection.
  • Secure: Uses industry-standard algorithms for generating time-based one-time passwords (TOTP).
    • Note: While all of the OTP secrets are stored locally, they are currently stored using the localStorage API. This is not secure and will be replaced with a more secure storage mechanism in the future.
  • User-Friendly: Simple and intuitive user interface.
  • Cross-Platform: Available on both Android (TODO) and iOS.

Usage

  1. Open the app on your device.
  2. Scan the QR code provided by the service you want to enable 2FA for.
  3. Use the generated code to complete the 2FA setup on the service.

Installation

Prerequisites

  • Node.js and npm installed on your machine.
  • Xcode (for iOS development).
  • Android Studio (for Android development).
  • A local build of SocketSuppply using the next branch and the relink instructions in that branch's README file.

Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/open-authenticator.git
    cd open-authenticator
  2. Install dependencies:

    npm install
  3. Link to the local SocketSupply build:

    npm link @socketsupply/socket

Running the local emulator

Note: You will not be able to use the camera based features using the emulators, but you can use this setup for quick development of all other features.

  1. Run the app on an emulator:
    npm run dev

Running on a physical device

  1. Ensure that you have a configured .sscrc file in the root of the project with the necessary credentials. An example .ssrc setup can be found in the .ssrc-example file at the root of this project. Checkout the SocketSupply documentation for more information.

  2. Ensure the device is plugged into your computer and then issue the install command:

  3. For iOS

    npm run install:ios
  4. For Android

    npm run install:android

Contributing

We welcome contributions from everyone! Please check our Contribution Guide to learn more.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

An open source 2FA authenticator app for iOS and Android built using SocketSupply.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published