summaryrefslogtreecommitdiff
path: root/manual/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'manual/plugins')
-rw-r--r--manual/plugins/main.tex2
-rw-r--r--manual/plugins/otp.tex72
2 files changed, 74 insertions, 0 deletions
diff --git a/manual/plugins/main.tex b/manual/plugins/main.tex
index e5f5deb140..2cd49035ff 100644
--- a/manual/plugins/main.tex
+++ b/manual/plugins/main.tex
@@ -272,6 +272,8 @@ option from the \setting{Context Menu} (see \reference{ref:Contextmenu}).}
272 272
273{\input{plugins/metronome.tex}} 273{\input{plugins/metronome.tex}}
274 274
275{\input{plugins/otp.tex}}
276
275\opt{lcd_bitmap}{\input{plugins/periodic_table.tex}} 277\opt{lcd_bitmap}{\input{plugins/periodic_table.tex}}
276 278
277\opt{swcodec}{\opt{recording_mic}{\input{plugins/pitch_detector.tex}}} 279\opt{swcodec}{\opt{recording_mic}{\input{plugins/pitch_detector.tex}}}
diff --git a/manual/plugins/otp.tex b/manual/plugins/otp.tex
new file mode 100644
index 0000000000..5b1a29f8c2
--- /dev/null
+++ b/manual/plugins/otp.tex
@@ -0,0 +1,72 @@
1% $Id$ %
2\subsection{One-Time Password Client}
3This plugin provides the ability to generate one-time passwords (OTPs)
4for authentication purposes. It implements an HMAC-based One-Time
5Password Algorithm (RFC 4226), and on targets which support it, a
6Time-based One-Time Password Algorithm (RFC 6238).
7
8\subsubsection{Adding Accounts}
9The plugin supports two methods of adding accounts: URI import, and
10manual entry.
11
12\opt{rtc}{ It is important to note that for TOTP (time-based) accounts
13 to work properly, the clock on your device MUST be accurate to no
14 less than 30 seconds from the time on the authentication server, and
15 the correct time zone must be configured in the plugin. See
16 \reference{ref:Timeanddateactual} for more information. }
17
18\subsubsection{URI Import}
19This method of adding an account reads a list of URIs from a file. It
20expects each URI to be on a line by itself in the following format:
21
22\begin{verbatim}
23otpauth://[hotp OR totp]/[account name]?secret=[Base32 secret][&counter=X][&period=X][&digits=X]
24\end{verbatim}
25
26An example is shown below, provisioning a TOTP key for an account called ``bob'':
27
28\begin{verbatim}
29otpauth://totp/bob?secret=JBSWY3DPEHPK3PXP
30\end{verbatim}
31
32Any other URI options are not supported and will be ignored.
33
34Most services will provide a scannable QR code that encodes a OTP
35URI. In order to use those, first scan the QR code separately and save
36the URI to a file on your device. If necessary, rewrite the URI so it
37is in the format shown above. For example, GitHub's URI has a slash
38after the provider. In order for this URI to be properly parsed, you
39must rewrite the account name so that it does not contain a slash.
40
41\subsubsection{Manual Import}
42If direct URI import is not possible, the plugin supports the manual
43entry of data associated with an account. After you select the
44``Manual Entry'' option, it will prompt you for an account name. You
45may type anything you wish, but it should be memorable. It will then
46prompt you for the Base32-encoded secret. Most services will provide
47this to you directly, but some may only provide you with a QR code. In
48these cases, you must scan the QR code separately, and then enter the
49string following the ``secret='' parameter on your Rockbox device
50manually.
51
52On devices with a real-time clock, \opt{rtc}{like yours,} the plugin
53will ask whether the account is a time-based account
54(TOTP). \opt{rtc}{If you answer ``yes'' to this question, it will ask
55 for further information regarding the account. Usually it is safe to
56 accept the defaults here. } However, if your device lacks a
57real-time clock, the plugin's functionality will be restricted to
58HMAC-based (HOTP) accounts only. If this is the case, the plugin will
59prompt you for information regarding the HOTP setup.
60
61\opt{rtc} {
62 \subsection{Advanced Settings}
63 \subsubsection{Time Zone Configuration}
64 In order for TOTP accounts to work properly, the plugin must be able
65 to determine the current UTC time. This means that, first, your
66 device's clock must be synchronized with UTC time, and second, that
67 the plugin knows what time zone the clock is using. The plugin will
68 prompt you on its first run for this piece of information. However,
69 should this setting need changing at a later time, possibly due to
70 Daylight Saving Time adjustment, it is located under the
71 ``Advanced'' submenu. NOTE: in the UI simulator, use the ``UTC''
72 setting no matter what the clock may read. }