shockrah
2fb24ee45e
New server meta endpoint to help out clients remember stuff about that server
2020-12-30 01:47:12 -08:00
shockrah
76fc2f66b3
More tests that are passing <o/
2020-12-30 01:13:15 -08:00
shockrah
dfe53b323e
/messages/send now correctyl tells the user they're wrong about sendingmessages to a non-existant channel
2020-12-30 01:00:47 -08:00
shockrah
7c95519402
+ Adding option to test everything including cargo and client tests
2020-12-30 00:13:18 -08:00
shockrah
c79cf34dfd
slightly more coverage for now not fulll
...
- Old tests won't work anymore due to jwt things
2020-12-29 23:57:40 -08:00
shockrah
ab12283507
+ Computing encoding key once in a lazy_static
...
+ unit test verifying is extremely sus.jpg but it looks like it passes
! bs detectors on max rn so i'll keep this under close watch for now
2020-12-29 23:57:11 -08:00
shockrah
477be1fd3f
Members now debugable
2020-12-29 23:51:14 -08:00
shockrah
549c69f668
+ Added Response::RestrictedInput to db-lib
...
Should make it more dsecriptive with really weird input and prevent even more confusing 500 responses to the client
+ db-lib::Channels::add now also potentially returns this new RestrictedInput variant
2020-12-29 23:50:57 -08:00
shockrah
b7209c000c
Changed token
in user params to jwt
since token was way too vague
2020-12-28 23:05:31 -08:00
shockrah
b351f63db5
db-lib now attempts to update tokens from failed update_jwt call
2020-12-28 23:03:13 -08:00
shockrah
7263ae0980
Preventing outsiders from refreshing someone else's token
...
! Unless their id/secret combo is robbed in which case they're screwed anyway /shrug
2020-12-28 22:16:55 -08:00
shockrah
5366ba9690
* Refactored secret_value generation to be behind an easy to use helper
...
* Refactored serde facing puller functions to be more clear
- Removing incorrect commentary
* Changed login handler to start using mysql based api
! Further refactoring in the previous to be more readable
2020-12-28 22:00:59 -08:00
shockrah
9d01912670
Adding hook for getting jwt from login
...
Also missed a lazy_static removal in db-lib
2020-12-28 21:57:47 -08:00
shockrah
2ad0136e69
JWT Table in mysql, querying with user id's and keeping tokens in string format
2020-12-28 21:56:22 -08:00
shockrah
967782be5f
Movng back to mysql from redis due to tokio reactor errors
...
At some point we should try moving to redis for better cache performance but that change is massive and this works at least as a poc
2020-12-28 21:53:57 -08:00
shockrah
55ade005a2
Removing fluff dependancies from db-lib: lazy_static + jsonwebtoken
2020-12-28 21:52:49 -08:00
shockrah
bdecf73000
More notes on jwt authentication
2020-12-22 21:52:30 -08:00
shockrah
11251fe6d3
1. adding hmac_secret as a private lazy_static variable
...
This is only initialized once and is read only after the fact so it should be fine
2. Adding a Claim struct that all JWT's will use for their structure. A helpful .new() function is provided
3. AuthReason::ServerIssue(String) is a now a thing
Should help the auth module be more clear in what's going on
4. fn get_jwt_json -> renamed from get_jwt to indicate we're getting something from json payload. Nothing more
5. async fn valid_jwt: Attempts to decode the given token, if successful it then looks if that user has given us an active jwt budget-session-key if (returns boolean)
6. wall_entry now returns an AuthReason without the sql wrapping, since thats db-lib's problem anyway
Also we're collecting all data upfront then verifying it as we go.
7. async fn login_get_jwt::ROUTE
On login_auth here we simply create a JWT for the user, store it in cache, then give it back to the user to use.
Tokens take a week to expire
8. Removed busted tests that weren't doing anything useful for the time being
2020-12-22 21:51:23 -08:00
shockrah
c0f5908089
Tiny auth module for literally just redis and jwt things
...
Also we're doing a really budget version of sessions here so we might change things later but this is fine for now
2020-12-22 21:30:35 -08:00
shockrah
02e6c4145e
now hanlding server issues with auth(since those sometimes happen)
...
also renamed some vars to be more clear
2020-12-22 21:29:43 -08:00
shockrah
47b4b7e35f
Script for generating a smiple hmac value
2020-12-22 21:28:57 -08:00
shockrah
9a3833ea49
sample .env now uses redis
...
Also I'm moving the redis deps to db-lib
Lazy static now added for the sake of holding the only static ref we need/want
the hmac secret
2020-12-22 21:28:38 -08:00
shockrah
c3834e0e66
ignoring a dev file/hmac data file
2020-12-22 21:26:59 -08:00
shockrah
5a5ecfad26
Optimizations for buidling memcacache for our tokens
2020-12-20 19:43:27 -08:00
shockrah
88f6e5b532
skeleton code for jwt things
2020-12-18 13:03:30 -08:00
shockrah
97028f8bd2
better note about configs and added support for config comments
2020-12-15 14:22:29 -08:00
shockrah
2efc163f8e
Script now purges the correct data it seems
2020-12-15 14:05:57 -08:00
shockrah
9b64afc27f
removed old doc
2020-12-12 16:39:10 -08:00
shockrah
b8b6fcbb9a
add license
2020-12-12 16:38:07 -08:00
shockrah
ba13de2064
More background information regarding what can use the help or not
...
* Better wording in readme about chat history
2020-12-12 16:36:40 -08:00
shockrah
f7136c0258
contributing guide
2020-12-12 16:19:36 -08:00
shockrah
f375fb74b7
New reflection on goals
2020-12-12 16:14:09 -08:00
shockrah
ce79d33380
Basically a rewrite of previous docs but this one is super terse
2020-12-12 15:45:13 -08:00
shockrah
275869a6f7
showing options passed to routes in tests
2020-12-12 14:46:09 -08:00
shockrah
4ac696820e
Removing dynamic routes altogether
2020-12-12 14:45:43 -08:00
shockrah
201297f4c1
Checking for valid channel.kind
on /channels/create
2020-12-12 13:51:43 -08:00
shockrah
8e2b52d1c9
Moving passable tests to their own function for now as we'll need some failing tests soon
2020-12-12 13:33:21 -08:00
shockrah
4e657e2710
skeleton code for loading configs into the client at init time
2020-12-12 13:26:02 -08:00
shockrah
26bd2a3af9
better css for the navbar
...
and addinga a better navbar
2020-12-07 22:18:05 -08:00
shockrah
ed3a185689
adding easy cmd line options parser
2020-12-07 22:17:17 -08:00
shockrah
8d00d0cd66
moving logo into client for the meme
2020-12-07 22:16:42 -08:00
shockrah
4aea1b66ce
updating bootstrap and removing purecss
2020-12-06 19:33:13 -08:00
shockrah
2683d5ef15
Basic window now uses the correct css paths for building
2020-12-06 15:26:22 -08:00
shockrah
455f6ed6b3
simple echo server for sake of testing connection-ability
2020-12-06 14:49:46 -08:00
shockrah
27c0af5b8d
adding required backend deps for rtc connections/data handling
2020-12-06 14:48:47 -08:00
shockrah
09f27dd554
! More restructuring changes
...
The client is basically gonna get served from a localhost server via electron. It's a little weird but it has to do for now, also fuck mobile
2020-12-06 14:45:06 -08:00
shockrah
cc1e3e6bc3
Restructuring of previous project files
2020-12-06 14:29:56 -08:00
shockrah
fe96a748ba
WebRTC server project folder
...
This will remain seperate from the client code project folder for now unless there is more reason to merge them together
2020-11-22 12:35:05 -08:00
shockrah
d622236644
Verbose output in build-sass.sh
2020-11-22 12:34:11 -08:00
shockrah
e3c8381cba
Setting up skeleton to start implementing webrtc at the client level
2020-11-22 12:33:58 -08:00