Commit graph

169 commits

Author SHA1 Message Date
Daniel Krol 48c74350e0 MIT License 2022-08-24 14:32:13 -04:00
Daniel Krol 9c057a5319 Linux only 2022-08-24 14:32:03 -04:00
Daniel Krol 08d57db466 Add timestamps to accounts and wallets tables
To help diagnosing/debugging in the future
2022-08-23 13:34:31 -04:00
Daniel Krol 448892cd82 validatePassword func 2022-08-22 19:41:30 -04:00
Daniel Krol 9046be7c4f const maxBodySize 2022-08-22 17:44:34 -04:00
Daniel Krol 0c22de5186 Simplify hosting details
I sort of did it wrong anyway. Just tell them to use systemd and caddy. If they demand specifics we can supply it later.
2022-08-22 17:34:44 -04:00
Daniel Krol 4843b91ce7 Rename the output. lbry-id -> wallet-sync-server 2022-08-22 12:05:53 -04:00
Daniel Krol 4dfacd8826 Remove comment from .goreleaser.yaml
It's no longer the default; I edited it
2022-08-20 11:58:44 -04:00
Daniel Krol 36d0d536de Github Actions and Goreleaser 2022-08-20 11:42:12 -04:00
Daniel Krol aa691dbc09 Use verify_token=null as verified to avoid unique constraint
We were using verify_token="" to mean that the user was verified. We need a unique constraint on verify_token to prevent two users from getting the same verify link in their email. This means that if we have two verified users, they will both have verify_token="", which triggers the unique constraint. Oops. However, null is an exception to unique constraints, so we're now using that instead to mean verified.
2022-08-13 22:15:19 -04:00
Daniel Krol e2893c13e3 Add test to confirm that we can create two accounts on the server. 2022-08-13 19:37:54 -04:00
Daniel Krol d1c5685045 Port 443 for Caddy so we have nice links in emails. No need for weird ports. 2022-08-13 15:03:06 -04:00
Daniel Krol 0e36bebdae Mailgun integration 2022-08-13 14:26:04 -04:00
Daniel Krol 58cefa4c1b test client: update_secrets -> update_derived_secrets
It doesn't update the root password.
2022-08-09 17:46:11 -04:00
Daniel Krol 126f600cac Note for auditor 2022-08-09 12:01:56 -04:00
Daniel Krol 6c9b9d07b2 Pass root password directly to SDK again.
Related to this: https://github.com/lbryio/wallet-sync-server/issues/4

Passing in a KDF output messes with the existing CLI UI for wallet locking. Also the SDK has its own encryption from password, may as well use it.
2022-08-09 10:16:48 -04:00
Daniel Krol 165bcf1964 scrypt inputs to consts, and fmt 2022-08-04 20:26:01 -04:00
Daniel Krol f5650e8d96 Hosting configs FOR DEV ONLY to let lbry.id work out of the box again 2022-08-01 11:46:06 -04:00
Daniel Krol 1e37b0e7b1 Add mailgun env vars 2022-07-31 19:23:21 -04:00
Daniel Krol 510dfe2b96 Integration test (sort of) for account verify 2022-07-31 16:43:36 -04:00
Daniel Krol f60e5659b6 Don't update verify tokens if the account is already verified 2022-07-31 14:13:30 -04:00
Daniel Krol 39144aa3c0 Comment assumptions on store functions 2022-07-31 13:54:40 -04:00
Daniel Krol aa1361a5fa Human-friendly output for verify account endpoint 2022-07-31 12:59:46 -04:00
Daniel Krol ea3b04eff6 store.VerifyToken 2022-07-31 12:42:03 -04:00
Daniel Krol 2dd3019b08 store.UpdateVerifyTokenString 2022-07-31 12:26:03 -04:00
Daniel Krol eabfa9d54c No password change for unverified accounts 2022-07-30 23:09:33 -04:00
Daniel Krol 4a205bbda7 GetUserId - Return error if account unverified 2022-07-30 15:06:27 -04:00
Daniel Krol dee2882fe9 Verify token db fields, CreateAccount changes 2022-07-30 14:24:33 -04:00
Daniel Krol 3b44a55f5a Connect the latest handlers to endpoints. 2022-07-29 20:53:28 -04:00
Daniel Krol 5ffcddf8f7 Endpoint to re-send verify token string 2022-07-29 20:49:00 -04:00
Daniel Krol c8620f7c8c Comment 2022-07-29 20:34:47 -04:00
Daniel Krol 19396e9797 Make error message more accurate. Rename test. 2022-07-29 15:52:23 -04:00
Daniel Krol e6f5628a94 Note for when getting auth token fails 2022-07-29 14:34:54 -04:00
Daniel Krol 4ecf8538be log.Printf istead fmt.Printf to be uniform 2022-07-29 13:43:27 -04:00
Daniel Krol be0e022c92 Check/log email configs on startup. 2022-07-29 13:42:25 -04:00
Daniel Krol f2ba31d972 Warning for self-hosting users 2022-07-29 13:38:26 -04:00
Daniel Krol 0948e95932 Forgot the mail package 2022-07-29 09:42:12 -04:00
Daniel Krol fcbab29d06 Test make new verify token 2022-07-29 09:14:25 -04:00
Daniel Krol 6672175a25 Server test/implement send verify-account email 2022-07-27 19:45:09 -04:00
Daniel Krol f15875c4a6 Verify account endpoint 2022-07-26 16:36:57 -04:00
Daniel Krol 0c6964df0e Oops delete way outdated comment 2022-07-26 12:48:44 -04:00
Daniel Krol 2f4ffd752c Temporarily fix integration tests for email verify
Require email verify. As of now we don't have the "verified" bit in the storage layer so it passes. Once we put that in, we'll have to go back and add a call to the verification endpoint.
2022-07-26 11:21:55 -04:00
Daniel Krol aee351a2b1 Don't allow password change for unverified accounts
Mainly because wallet change is tied up in it
2022-07-26 11:18:43 -04:00
Daniel Krol 5985631410 Don't hand out auth tokens if they're not verified 2022-07-26 10:53:31 -04:00
Daniel Krol 55db62e2f9 Register endpoint handles "verified" status
Based on the verification mode specified in env. The db doesn't do anything with it yet.
2022-07-26 10:16:44 -04:00
Daniel Krol 832778ffd1 env: rename things, export type 2022-07-25 18:02:25 -04:00
Daniel Krol f792ba5846 env package provides config values 2022-07-24 16:03:37 -04:00
Daniel Krol ade526f4f9 Create environmental var package 2022-07-23 19:03:51 -04:00
Daniel Krol 36659ef720 More unique metric name; comment 2022-07-23 16:47:18 -04:00
Daniel Krol 41b14dad44 Prometheus - track wallet requests 2022-07-22 19:49:30 -04:00