emacs-totp icon indicating copy to clipboard operation
emacs-totp copied to clipboard

emacs-TOTP implements Time-based One-time Passwords (TOTP) like specified in RFC 6238)

#+title: emacs-TOTP implements Time-based One-time Passwords (TOTP) like specified in RFC 6238) [[https://github.com/juergenhoetzel/emacs-totp/actions][file:https://github.com/juergenhoetzel/emacs-totp/workflows/CI/badge.svg]] [[https://melpa.org/#/totp][file:https://melpa.org/packages/totp-badge.svg]]

  • Setup

Until released on [[https://melpa.org/#/][MELPA]]: #+begin_src elisp (add-to-list 'load-path "/path/to/emacs-totp") (require 'totp) ;; if you want the authenticator widget (require 'totp-widget) #+end_src

  • Usage

The command =totp-copy-pin-as-kill= interactively prompts for account names. Non-existing Accounts/Secrets will be added to your configured [[https://www.gnu.org/software/emacs/manual/html_mono/auth.html][Emacs auth-source]] and will be available in the =completing-read= history in it will be used at the next invocation.

** Secret input format

=totp= supports reading secrets in =HEX= and multiple =base32= variations:

Some providers use non-standard =base32= encodings (interleaved whitespace and missing padding characters) like: =6BQA C4L3 O2FZ YNKR 6H7H IFFX 64GG SZZK SDEO FMV4 KVKI ASYE 65QA=

** Widget

=(totp-widget)= is self-explanatory:

#+CAPTION: Emacs totp-widget [[totp-widget.gif]]

The Widget-Code is just a quick hack: Pull requests are welcome!