Commit graph

33 commits

Author SHA1 Message Date
Ev Kontsevoy 225a9a4d4c Moved HTTP client code from lib/web into lib/client
The purpose of this commit was to remove the lib/client dependency of
lib/web.

lib/client must be dependency-free in order to be reusable.

Next step: make the web UI use the same client code as the CLI. This
will remove a ton of duplicate code making Teleport audit surface area
much smaller.
2017-02-02 18:48:50 -08:00
Ev Kontsevoy ff2fd9ca47 Code review changes 2017-01-25 13:45:46 -08:00
Russell Jones 9e0c439927 Added TOTP support and deprecated HOTP support. New users are created with TOTP as the second factor, but HOTP backward compatibility is maintained by allowing users created before this commit to continue to log in with HOTP tokens. 2017-01-17 11:24:52 -08:00
Ev Kontsevoy 3c6325f283 Code refactoring before trying to fix #669
Web UI backend used very generic and hard to follow naming conventions,
like "connect" or "connectHandler" or "newHandlerRequest".

Renaming everything to something easier to follow, like "makeTerminal"
or "newTerminalRequest"

Even the source file is renamed from "connect.go" to "terminal.go"
2016-12-31 16:14:56 -08:00
Sasha Klizhentas 98e613a4ea web tests recovered 2016-12-30 13:25:35 -08:00
Sasha Klizhentas 8ab3add372 map OIDC scopes to roles, implements #620 2016-12-24 14:42:33 -08:00
Sasha Klizhentas 2dceb42547 Merge branch 'master' into sasha/rbac 2016-12-14 16:36:55 -08:00
Sasha Klizhentas 7e97b10032 add support for namespaces almost everywhere 2016-12-14 15:48:36 -08:00
Alex Charles 9e743f803a Some cleanup for PR. Mostly appId -> appID, U2f -> U2F 2016-12-08 02:23:51 -08:00
jcj83429 3030878807 cleanup unused constant, duplicate code, and commented out code 2016-11-28 23:03:29 -08:00
jcj83429 739308c5ae got u2f login working on the CLI client.
also grouped the u2f webapi endpoints together,
and fixed the default u2f AppID so it works out of the box
2016-10-22 20:43:44 -07:00
jcj83429 bb0a25d617 Implemented U2F authentication on the server side 2016-10-16 14:03:43 -07:00
jcj83429 b79c4cffba Implmented U2F registration and some of authentication on the server side
I know comments are very lacking right now. Once things are stable I will add
proper comments. Minimal manual testing of the U2F registration API was done
with a hardware U2F key. Some of the code may need to be cleaned up later to
remove excessively long variable names...

Currently we return an error rightaway if the username/password combo is wrong.
It's difficult to do U2F without revealing either whether a user exists or
whether the password is correct. Returning error immediately reveals whether
the user/password combo is valid, while waiting until we get a signed response
from the U2F device to announce whether the user/pass combo is valid can reveal
which users exist since we need to return a keyHandle in the U2F SignRequest
and generating fake keyHandles for nonexistent users can be difficult to get
right since there is no rigid format for keyHandle.
2016-10-13 23:51:16 -07:00
Roman Tkachenko 7d7b86e7aa Fix expired session cleanup 2016-10-12 13:40:08 -07:00
Ev Kontsevoy f6b2d56542 Fixed timer leak 2016-08-28 12:50:52 -07:00
Ev Kontsevoy ec880ae700 Fixed resource leaks and removed dead code
Refs #508
2016-08-21 23:19:09 -07:00
Ev Kontsevoy b175d92052 PR comments - implemented! 2016-05-07 21:51:35 -07:00
Ev Kontsevoy ce1c4d4a38 A great number of bugfixes:
- replay now works in both web and CLI
- fixed two nasty connection bugs in web sessions
- removed verbose logging/diagnostics
- refactoring of web code by Alexey
2016-05-03 21:30:17 -07:00
klizhentas d68e693cad migrate to trace errors 2016-04-12 11:07:14 -07:00
klizhentas e1808b8579 some interface adjustments 2016-04-10 13:29:32 -07:00
klizhentas bbb69cb598 fix leaking TunClient, fixes #312 2016-04-07 15:00:11 -07:00
klizhentas 65d7864f1d Update internal interfaces and expose web handler methods 2016-04-06 10:32:26 -07:00
klizhentas ca7e3820d7 This commit adds ability to preconfigure the cluster without running
auth server. This is needed when you configure cluster from scratch and
all nodes including auth server spin up simultaneously.

* Add tctl tools to generate keys and certificates

  + Command "tctl authorities gen" generates public and private keypair.
  + Command "tctl authorities gencert" generates public and private keypair signed
    by existng private key
  + Command "tctl authorities export" was modified to be able to export exisitng private
    CA keys to local storage

   All of these commands are hidden by default.

section "static configuration"

* Add ability to configure teleport from environment variable

Environment variable TELEPORT_CONFIG can contain base64 encoded
YAML file config file of the standard file format, so teleport will use it on start

* Add special secrets section to the config file

Section "secrets" was updated to support pre-configured trusted CA keys and pre-generated keys

* Add special rts hidden section to add support for provisioning
2016-03-28 12:58:34 -07:00
klizhentas 55388db74b migrate to time UUID in session log, fixes #266
this commit restricts session id and session party id to be time UUID v1
and uses this fact to create a sorted session log
2016-03-19 18:16:06 -07:00
klizhentas 03dc97ed1e Introduce failover and auth servers sync, refs #78
* clients to tun servers are now supporting failover on the client
* clients periodically pull and sync auth servers that are available in the cluster
* teleport stores the information about cluster state locally and reuses it on restart
2016-03-15 13:07:31 -07:00
klizhentas 1eb952b89f properly propagate HTTP errors, fixes #172 2016-03-07 17:05:57 -08:00
klizhentas 4cd90d7ee0 fix hostport problem when connecting to proxy 2016-03-07 10:06:42 -08:00
klizhentas 26331fb539 fixing bugs, refs #180 2016-03-03 18:03:25 -08:00
klizhentas 866b1e18c3 add support for session resizing 2016-03-01 13:19:43 -08:00
klizhentas 447e839f39 close outstanding connections when invalidating the session 2016-02-26 18:10:01 -08:00
klizhentas 5220c43b29 keep old session valid until it expires 2016-02-26 15:24:38 -08:00
klizhentas dbca78bd3e add session renewal, faster expiration times, race conditions fixes 2016-02-26 14:57:51 -08:00
klizhentas 71a5dbc2c4 refactor 2016-02-24 17:58:22 -08:00
Renamed from lib/web/auth.go (Browse further)