Commit Graph

736 Commits

Author SHA1 Message Date
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
shockrah
eaec922693 New dependancies
Fixing a bunch of things that cargo complains about but that really has no effect on me as a person
2020-11-17 23:46:03 -08:00
shockrah
e4fdf4feb7 Merging new db-lib code integration
! I should note that there are two things which are incomplete

1. channel deletion with linked messages
2. Invites module has not been refactored BUT behaves beautifully in all tests so far so i cba
2020-11-17 22:51:59 -08:00