git.fiddlerwoaroof.com
Browse code

Authenticate with totp token--hardcoded key

Ed Langley authored on 08/06/2017 23:41:28
Showing 3 changed files
... ...
@@ -43,6 +43,7 @@ dual_control initialize()
43 43
     fstreams fstreams (fstreams::create());
44 44
     sys_time time (sys_time::get());
45 45
     int code_digits = 6;
46
+    //TODO: have generator take the key after construction
46 47
     totp_generator generator = totp_generator (time, "\x00", code_digits);
47 48
     tokens tokens (tokens::create (fstreams, generator));
48 49
     validator validator (validator::create (directory, tokens));
... ...
@@ -41,6 +41,7 @@ installer init_installer()
41 41
     stdlib stdlib (stdlib::get());
42 42
     sys_time time (sys_time::get());
43 43
     int code_digits = 6;
44
+    //TODO: have generator take the key after construction
44 45
     totp_generator generator = totp_generator (time, "\x00", code_digits);
45 46
     tokens tokens (tokens::create (fstreams, generator));
46 47
     installer installer (installer::create (tokens, unistd, directory, generator));
... ...
@@ -32,22 +32,22 @@ public:
32 32
         fstreams_ (fstreams), generator_(generator) {}
33 33
     std::string token (const user &user) const override
34 34
     {
35
-        // return generator_.generate_token();
35
+        return generator_.generate_token();
36 36
 
37
-        // Get key
38
-        const std::string file_path (user.home_directory() + "/.dual_control");
39
-        fstreams::pstream stream (fstreams_.open_fstream (file_path));
37
+        // // Get key
38
+        // const std::string file_path (user.home_directory() + "/.dual_control");
39
+        // fstreams::pstream stream (fstreams_.open_fstream (file_path));
40 40
 
41
-        if (!stream->good()) {
42
-            return "";
43
-        }
41
+        // if (!stream->good()) {
42
+        //     return "";
43
+        // }
44 44
 
45
-        // TODO: decode key
46
-        std::vector<char> line (32);
47
-        stream->getline (line.data(), line.size());
45
+        // // TODO: decode key
46
+        // std::vector<char> line (32);
47
+        // stream->getline (line.data(), line.size());
48 48
 
49
-        // TODO: generate the token
50
-        return std::string (line.data());
49
+        // // TODO: generate the token
50
+        // return std::string (line.data());
51 51
     }
52 52
     void save (const user &user, const std::string &token) const override
53 53
     {