Skip to content

Erlang QR Code Encoder - for Nitrogen Web Framework

License

Notifications You must be signed in to change notification settings

nitrogen/nitro_qrcode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QR Code Encoder

Modified for use with the Nitrogen Web Framework

The primary modification has been in adding support for SVG generation.

The nqr prefix stands for "Nitrogen QR" and is there to disambiguate it from the original qrcode library by Steve Davis.

The full commit/fork history can be viewed in the Github Network View.

Inclusion

Add this to your projects by adding this to your rebar.config:

{deps, [
    nitro_qrcode
]}.

Original Documentation

Reference used was ISO/IEC 18004, 1st Edition (2000)

This implementation is informed by my specific needs, i.e. to provide two-factor authentication for mobile phones running Google Authenticator.

  • "Byte" mode only (don't need e.g. numeric mode or kanji mode).
  • Encode only (no detection/decode).
  • Basic supporting library functions provided (HOTP, PNG image functions) to allow full-cyle demo.

Demo

  1. Download repo and compile with make or erl -make
  2. Install Google Authenticator App on your mobile:
  3. Run demo: nqr_demo:run().
  4. Open the generated qrcode.png file
  5. Scan the qrcode into the phone.
  6. Ensure server clock is correct.
  7. The value of nqr_demo:totp() should show the same passcode as the phone.
  8. Handle PINs/logins for the second part of the "two factor" according to your application design.

NOTE: This documentation is rather basic as this was open-sourced by specific request!

About

Erlang QR Code Encoder - for Nitrogen Web Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Erlang 98.3%
  • Makefile 1.7%