Commit graph

113 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
295285707e Don’t use a cookie for unique Session ID 2018-05-14 02:37:49 +01:00
Tobie Morgan Hitchcock
6f02651c4f Ensure correct cookie header even if cookie exists
Previously, if the cookie value was passed to the database from the client, then the client would not set the correct cookie option values, effectively causing the cookie to expire.
2018-05-14 00:15:26 +01:00
Tobie Morgan Hitchcock
e120f8961c Add server-generated session info to queries 2018-05-12 23:46:01 +01:00
Tobie Morgan Hitchcock
c8980e2eac Remove connection wide variables 2018-05-09 23:09:51 +01:00
Tobie Morgan Hitchcock
220d04b696 No need to close the log messages channel
Closing the channel sometimes resulted in writes to a closed channel. Instead, the channel will be cleared up by GC as the socket is removed from the sync.Map anyway.
2018-05-09 16:34:53 +01:00
Tobie Morgan Hitchcock
faf54b053a Add RPC Ping method 2018-05-09 12:13:44 +01:00
Tobie Morgan Hitchcock
e3bea0a897 Use context.Context on all kvs requests 2018-05-02 03:05:03 +01:00
Tobie Morgan Hitchcock
9f0ea3ee61 Improve database query logging 2018-05-02 02:32:06 +01:00
Tobie Morgan Hitchcock
be832029a7 Remove google and syslog logging 2018-04-05 08:51:44 +01:00
Tobie Morgan Hitchcock
b4a8f10cdc Ensure query variables are consistent
All request variables which are assigned to an sql query are now specified in one location, ensuring that they are consistent and always present for all queries.
2018-03-18 21:38:21 +00:00
Tobie Morgan Hitchcock
ca392f87a7 Add ON SIGNUP and ON SIGNIN events to SQL SCOPE
It is now possible to run queries when a user signs-up or signs-in, by specifying multiple queries within an ON SIGNUP (…) clause, or a ON SIGNIN (...) clause.
2018-03-18 21:30:02 +00:00
Tobie Morgan Hitchcock
d70d063797 Make JWT token values available to scope CONNECT query 2018-03-02 11:03:19 +00:00
Tobie Morgan Hitchcock
aebc001229 Store IP address in JWT token 2018-03-02 11:02:47 +00:00
Tobie Morgan Hitchcock
bece5d1f07 Ensure we run signUp not signIn when signing up 2018-02-17 09:14:26 +00:00
Tobie Morgan Hitchcock
2249086887 Improve rpc authentication methods 2018-02-14 13:19:43 +00:00
Tobie Morgan Hitchcock
c47fe55ffb Ensure any previous auth data is reset if authentication fails 2018-02-14 13:17:05 +00:00
Tobie Morgan Hitchcock
e073bf2775 Enable persistent request variables
It is now possible to set a variable on a connection, and use that variable in multiple subsequent queries. This ensures that websockets can make use of state variables for detecting logged-in, and non-logged-in clients.
2018-02-12 22:13:36 +00:00
Tobie Morgan Hitchcock
15e9f77434 Add Uniq() rpc method for crypto-secure rando ids 2018-02-12 21:50:19 +00:00
Tobie Morgan Hitchcock
779251bc54 Simplify auth data response on rpc requests
Ther is no need to return all auth data when caling the Info() and Auth(token) rpc functions. Instead only the id needs to be returned to the consuming application.
2018-02-12 21:48:55 +00:00
Tobie Morgan Hitchcock
a9883efc4a Improve error messages on authentication failure 2018-01-31 08:52:21 +00:00
Tobie Morgan Hitchcock
58b8b461e3 Enable specifying NS, DB, and auth through websocket protocols 2018-01-31 08:52:11 +00:00
Tobie Morgan Hitchcock
40f1c4b224 Improve error message on scope signin 2017-12-20 06:51:51 +00:00
Tobie Morgan Hitchcock
e3c7aacd66 Enable parameters in LIVE queries 2017-12-08 10:29:52 +00:00
Tobie Morgan Hitchcock
92ecba9154 Improve signin and signup error messages 2017-12-07 18:48:42 +00:00
Tobie Morgan Hitchcock
26e5ef3978 Fix logic error with http redirects 2017-11-23 14:34:32 +00:00
Tobie Morgan Hitchcock
7bfcf8b7f8 Redirect http requests to https 2017-11-23 13:38:00 +00:00
Tobie Morgan Hitchcock
62739b8154 Add live query support in the web layer to websockets 2017-11-16 20:54:10 +00:00
Tobie Morgan Hitchcock
2609d761be Improve web layer authentication and session process 2017-11-16 20:52:17 +00:00
Tobie Morgan Hitchcock
aeb362e541 Update comments 2017-11-16 20:50:57 +00:00
Tobie Morgan Hitchcock
1ee95333fb Run auth middleware just before gzip middleware 2017-11-16 20:50:52 +00:00
Tobie Morgan Hitchcock
33ab1efb08 Ensure that gzip is the final middleware to be initialised 2017-11-16 20:49:28 +00:00
Tobie Morgan Hitchcock
8f06b958ff Remove TCP deadline timeouts completely
Deadline timeouts are not useful, as they do not give any meaningful http error responses to the end user. Instead we now make use of contexts throught the system to detect query timeouts, and send error messages accordingly.
2017-11-16 20:48:08 +00:00
Tobie Morgan Hitchcock
9fb7eec04b Add specific HTTP CORS headers 2017-11-16 20:46:54 +00:00
Tobie Morgan Hitchcock
82513d6e54 Improve RPC authentication query information 2017-11-16 20:46:17 +00:00
Tobie Morgan Hitchcock
d5a947bf53 Add batch support to RPC endpoint queries 2017-11-16 20:46:02 +00:00
Tobie Morgan Hitchcock
d7469c30d5 Insure start and limit query params do not overflow limit 2017-11-16 20:44:20 +00:00
Tobie Morgan Hitchcock
878ddbbf09 Fix SQL query for REST DELETE route 2017-11-16 20:43:38 +00:00
Tobie Morgan Hitchcock
28c10c9747 Add VERSION query param support to REST GET route 2017-11-16 20:43:26 +00:00
Tobie Morgan Hitchcock
0675bdb000 Change allowed content types on HTTP routes 2017-11-16 20:42:42 +00:00
Tobie Morgan Hitchcock
eb160265b7 Decrease http timeouts for /signup and /signin routes 2017-11-16 20:41:29 +00:00
Tobie Morgan Hitchcock
96cd07e1d1 Improve http error messages 2017-11-16 20:40:40 +00:00
Tobie Morgan Hitchcock
fd3df8dbfc No need to send error message if request is complete 2017-11-16 20:38:45 +00:00
Tobie Morgan Hitchcock
8883645aa7 No need to send error message if websocket 2017-11-16 20:38:33 +00:00
Tobie Morgan Hitchcock
fa714c1bdd Listen and wait for errors when server exits 2017-11-16 20:03:38 +00:00
Tobie Morgan Hitchcock
79518591be Log server ‘starting’ and ‘started’ messages 2017-03-24 21:35:46 +00:00
Tobie Morgan Hitchcock
a133eb2482 Add HTTP 504 request timeouts to certain routes 2017-03-03 21:41:06 +00:00
Tobie Morgan Hitchcock
a96a8466cb Add initial golang code tracing and logging 2017-03-03 21:39:37 +00:00
Tobie Morgan Hitchcock
e70cdce87e Fix bug with bearer authentication 2017-02-25 22:09:12 +00:00
Tobie Morgan Hitchcock
6e223f5f08 Move authentication level constants to cnf package
Instead of defining the authentication level types as ints in the sql package, there is now a specific type which is now located in the cnf package.
2017-02-24 13:33:03 +00:00
Tobie Morgan Hitchcock
79812544e8 Use fibre error fields instead of logging twice 2017-02-24 00:49:41 +00:00