Commit Graph

588 Commits

Author SHA1 Message Date
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
shockrah
13eb58ec06 * Owner perms were not being calculated correctly, this is now fixed 2020-11-21 19:18:40 -08:00
shockrah
063f2c7c48 --create-owner flag now correctly gives back the actual secret value instead of the encrypted value 2020-11-21 19:06:23 -08:00
shockrah
8661bcabe7 Removed redudancies and loud error messages 2020-11-21 19:05:44 -08:00
shockrah
f5f3df2ee2 + Created testing func which is now super easily configurable
! This lets me specify between release and debug testing now yey
2020-11-21 19:05:02 -08:00
shockrah
acbbaab68d create_admin flag now behaves correctly 2020-11-21 19:04:06 -08:00
shockrah
1c1bb5f3cd * -c now uses the name parameter given to it
* new branch for failure of secret generation
2020-11-21 13:21:44 -08:00
shockrah
b15277348f Better docs inspired jsdocs in db-lib::Member::add 2020-11-21 13:20:46 -08:00
shockrah
c80a1dab40 * clearer branching and some descriptive comments 2020-11-21 13:20:27 -08:00
shockrah
ea5162d185 + Better secret generation
+ Helper function to clearly encrypt generated secrets
+ New test for auth::valid_secret as a sanity check
! routes::is_open is no longer retarded and behaves as expected
2020-11-21 13:19:52 -08:00
shockrah
812d9a9615 Upgrading bcrypt's version to 0.8 from 0.6 2020-11-21 12:19:44 -08:00
shockrah
5b63f0113b more accurate api docs to meet with what is currently supported 2020-11-18 16:42:45 -08:00
shockrah
25fb3f5bb2 on delete cascade added to messages which hopefully makes channel deletion a bit better 2020-11-18 00:28:46 -08:00
shockrah
571f3a1630 db-lib::Channel::delete now gives back the actual sql error on failure 2020-11-18 00:28:08 -08:00
shockrah
159262a1f6 Merging cargo fixes from db-interface 2020-11-17 23:47:30 -08:00
shockrah
cd9d676a1e Removal of unused test 2020-11-17 23:46:40 -08:00