Danny Coates
8f85f173e6
lockdown passwordStretching parameters
2013-12-10 13:33:14 -08:00
Ryan Kelly
98ac38359f
Fix failing test for email-formatting
2013-12-10 16:35:16 +11:00
Ryan Kelly
a4b155b0bb
Hex-encode the uid for inclusion in browserid certificate.
2013-12-10 16:25:08 +11:00
Danny Coates
c66352b8ec
Merge pull request #386 from chilts/fix-mysql-ping
...
Release the connection when pinging the database
2013-12-09 14:51:11 -08:00
Andrew Chilton
4334b80aeb
Release the connection when pinging the database
2013-12-10 11:46:09 +13:00
Danny Coates
4543823d0b
camelCase all the config options
2013-12-09 12:26:41 -08:00
Ryan Kelly
fe82e1f098
First, rough attempt at internationalization of emails.
2013-12-09 12:53:24 +11:00
Danny Coates
7bbcae4176
added mail_helper.js for local email testing
2013-12-07 15:56:11 -08:00
Andrew Chilton
a35c94c54a
Use MySql pool, transactions and more promises
2013-12-06 18:07:09 +13:00
Danny Coates
82b943c37d
Merge pull request #370 from dannycoates/emailz
...
added preVerified option to /account/create
2013-12-04 15:59:31 -08:00
Danny Coates
45d557cf2f
added preVerified option to /account/create in non-production environments
2013-12-04 14:12:30 -08:00
Peter deHaan
6efbc680ab
adding copyright, removing dead code
2013-12-03 16:43:47 -08:00
Ryan Kelly
11006027de
Refactor test helpers into a promisified 'test' function.
2013-12-03 17:47:54 +11:00
Ryan Kelly
3540bd9511
Experiment with some "test+promise helpers" to avoid uncaught errors.
2013-12-03 16:50:33 +11:00
Danny Coates
82d3978601
Merge pull request #362 from mozilla/rfk/timestamp-header
...
Add 'Timestamp' header to all successful requests.
2013-12-02 14:49:56 -08:00
Ryan Kelly
3b1d8543d2
Add 'Timestamp' header to all successful requests.
2013-11-28 14:37:47 +11:00
Danny Coates
93c2975f91
tokenid and tokendata are now Buffers internally
2013-11-26 17:46:19 -07:00
Danny Coates
6d42b2ae54
kA and wrapKb are now Buffers internally
2013-11-26 13:23:14 -07:00
Danny Coates
38df743201
uid is now a Buffer internally
2013-11-26 12:17:48 -07:00
Ryan Kelly
46e895005e
Merge pull request #304 from chilts/issue-260-binary-uid-columns
...
Fixes #260 : Convert UID columns from CHAR(36) to BINARY(16)
2013-11-25 19:35:03 -08:00
Zachary Carter
25647d57b3
Revert "Unhexlify the email address when embedding it in a certificate."
...
This reverts commit 2d2ce24c94
.
Conflicts:
routes/sign.js
2013-11-22 15:18:03 -08:00
Zachary Carter
3490257c23
Revert "added uid to principal in signed key"
...
This reverts commit 91bfb7951a
.
Conflicts:
routes/sign.js
test/run/signer_tests.js
2013-11-22 15:09:21 -08:00
Peter deHaan
b4bb14a0e1
removing unused email vars
2013-11-21 16:40:21 -08:00
Peter deHaan
ec5229c805
Fixing a few JSHint warnings in the /tests
2013-11-21 15:06:19 -08:00
Peter deHaan
c061d46aa6
twerking the tests a bit and converting tabs to [2] spaces
2013-11-21 14:46:14 -08:00
Ryan Kelly
591af25e72
Auto-verify by default when config.env == "dev".
...
This should fix some test brokenness caused by renaming "local" to "dev" and
making it the default environment.
2013-11-21 15:36:06 +11:00
Andrew Chilton
1e8e183239
Merge pull request #326 from mozilla/rfk/dev-by-default
...
Add a "dev" config.env and make it the default
2013-11-19 14:23:58 -08:00
Zachary Carter
472f489d1a
fix scrypt test
2013-11-19 14:12:29 -08:00
Ryan Kelly
09a26bd237
Add a "dev" NODE_ENV and make it the default.
2013-11-19 13:46:04 +11:00
Ryan Kelly
2d2ce24c94
Unhexlify the email address when embedding it in a certificate.
2013-11-18 14:48:06 +11:00
Ryan Kelly
0860657c3a
Merge pull request #253 from mozilla/rfk/stale-nonce-checking
...
Enable checks for nonce re-use in hawk lib
2013-11-17 19:09:02 -08:00
Peter deHaan
a986e7d210
adding missing copyright headers (and excluding third party lib)
2013-11-15 16:35:11 -08:00
Ryan Kelly
d89418a0e3
Basic RedisNonceDB implementation
2013-11-14 17:01:52 +11:00
Ryan Kelly
306a2062dc
Implement basic in-memory nonce database
2013-11-14 16:22:07 +11:00
Andrew Chilton
7eca4ea70a
Fixes #260 : Convert UID columns from CHAR(36) to BINARY(16)
2013-11-14 16:00:24 +13:00
Ryan Kelly
258f35019a
Merge pull request #249 from dannycoates/i249
...
proxy for account/reset
2013-11-13 17:45:07 -08:00
Danny Coates
630d0b1fc6
added a /raw_password/password/reset test
2013-11-13 17:06:24 -08:00
Ryan Kelly
85faad769a
Report serverTime in seconds, since that's what Hawk protocol uses.
2013-11-14 10:56:38 +11:00
Ryan Kelly
6226903866
Include `serverTime` field in the "invalid timestamp" response.
2013-11-14 10:48:10 +11:00
Danny Coates
8debad2e32
split the /raw_password/account/reset into /raw_password/password/change for changing password and /raw_password/password/reset for forgot password
2013-11-13 15:45:13 -08:00
Danny Coates
9c7f0405f6
added /raw_password/account/reset endpoint
2013-11-13 12:39:10 -08:00
Danny Coates
91bfb7951a
added uid to principal in signed key
2013-11-12 11:00:21 -08:00
Danny Coates
dcce997cac
test for uid and verified in /session/create
2013-11-11 17:34:45 -08:00
Danny Coates
b33dead326
extracted test_server from integration_tests etc
2013-11-08 19:06:50 -08:00
Danny Coates
d11b892e13
how'd that get there?
2013-11-08 10:48:09 -08:00
Ryan Kelly
3e37ebff22
Add token derivation test vectors to unittest suite.
2013-11-08 10:38:14 -08:00
Danny Coates
d9bb63db0d
how'd you like this travis?
2013-11-07 18:53:01 -08:00
Danny Coates
760fb94f7e
improved signer worker crash handling
2013-11-07 17:31:44 -08:00
Danny Coates
291578dc86
began hardening the /certificate/sign endpoint
2013-11-07 17:27:41 -08:00
Ryan Kelly
6842786362
Simplify mocking of Date.now in forgot_password_token tests.
2013-11-08 09:48:17 +11:00
Ryan Kelly
c9a289e4f4
Make SrpToken more like all the other token classes.
2013-11-08 09:48:17 +11:00
Ryan Kelly
8b3665c8a5
Refactor token classes to reduce duplication, improve API compliance
...
This implements the latest tweaks to the token derivation/encrytion
scheme, and uses the new level of symmetry between operations to support
a substantial refactor and cleanup.
2013-11-08 09:48:17 +11:00
Zachary Carter
beac54a680
encode email as UTF-8 before key stretching and srp - fixes #274
2013-11-06 09:32:04 -08:00
Danny Coates
42da3137e6
fixed broken test after #269
2013-11-05 10:41:19 -08:00
Danny Coates
7b4623555f
added a test for expired hawk timestamps
2013-11-01 18:03:26 -07:00
Danny Coates
ab8f1a1ee0
Merge pull request #267 from dannycoates/validation
...
test for oversized payloads
2013-11-01 16:34:37 -07:00
Danny Coates
7c63ecbbbd
fixed jshint complaints
2013-11-01 14:29:39 -07:00
Danny Coates
16f7a265f6
test for oversized payloads
2013-10-31 14:49:53 -07:00
Danny Coates
657dfb9feb
made heap symmetric to mysql; db tests use config backend
2013-10-30 10:04:50 -07:00
Ryan Kelly
271131a0c8
Fix error codes thrown by MySQL backend
2013-10-30 16:55:11 +11:00
Ryan Kelly
b4b43986fe
More queries implemented for MySQL backend
2013-10-30 15:18:20 +11:00
Ryan Kelly
a7239242fc
Fleshing out query implementations for the MySQL backend
2013-10-30 14:50:12 +11:00
Danny Coates
20b4db620e
start of mysql tests
2013-10-29 17:31:54 -07:00
Danny Coates
5c81b13c75
Merge branch 'srp2' into db
...
Conflicts:
bin/key_server.js
db/heap.js
db/mysql.js
package.json
tokens/srp_token.js
2013-10-29 15:13:35 -07:00
Danny Coates
224083222e
fixed tests deleted obsolete ones. need moar token tests
2013-10-29 13:48:21 -07:00
Peter deHaan
4c34103589
Adding copyright headers
2013-10-29 11:56:54 -07:00
Danny Coates
a41fe08538
updated to node-srp 0.2.0
2013-10-28 17:20:13 -07:00
Danny Coates
f59f012e98
fixed tests deleted obsolete ones. need moar token tests
2013-10-28 11:42:16 -07:00
Danny Coates
f0f79c4a2c
Merge pull request #252 from mozilla/rfk/static-views-cleanup
...
Cleanup static IDP-related views, and add some basic tests.
2013-10-28 11:35:18 -07:00
Ryan Kelly
030eaf5626
Cleanup static IDP-related views, and add some basic tests.
2013-10-25 15:48:48 +11:00
Ryan Kelly
5b7c185387
Use application-level Error objects in the Model classes.
...
This avoids introducing boom and hoek as dependencies of the client lib.
2013-10-25 14:15:43 +11:00
Ryan Kelly
5d3eca31dc
Intercept hawk errors, transform into custom format.
2013-10-24 19:42:22 +11:00
Ryan Kelly
9065d192b9
Define latest error codes, change existing code structure to use them.
2013-10-24 19:42:14 +11:00
Danny Coates
47028e778c
Merge pull request #242 from mozilla/account_exists_client_api
...
add accountExists to client
2013-10-23 11:14:23 -07:00
Chris Karlof
768649b62d
we don't need the request library anymore in the integration tests because zach added it to the client api
2013-10-23 11:06:39 -07:00
Zachary Carter
06ae9dd41d
add raw password apis to client api
2013-10-23 05:22:38 -07:00
Zachary Carter
e48de28465
add accountExists to client
2013-10-23 03:05:05 -07:00
Danny Coates
02a51183c4
naive implementation of /raw_password/account/create
2013-10-22 18:35:19 -07:00
Danny Coates
20e376f5a7
naive implementation of /auth/password
2013-10-22 17:03:50 -07:00
Zachary Carter
0f936854de
add verify reset code to client api
2013-09-25 15:38:50 -07:00
Chris Karlof
ab33146ef0
Re-enable the test to make sure we can still log in after a reset password
2013-09-20 17:59:34 -07:00
Chris Karlof
de9893fe50
Changes the verification tests to use freshly created emails for each test and fixes some concurrency bugs in how the tests check for the verification and reset codes. Fixes #188
2013-09-20 16:52:56 -07:00
Zach Carter
47480905e0
Merge pull request #186 from mozilla/buffers_n_bits
...
adds sjcl bytes codec and makes agument types more consistent
2013-09-10 18:19:57 -07:00
Zachary Carter
f8a32dc70b
use https for scrypt helper
2013-09-10 18:14:44 -07:00
Zachary Carter
749b5665d7
adds sjcl bytes codec and makes agument types more consistent - fixes #179
2013-09-06 17:21:48 -07:00
Zach Carter
8379e2146e
Merge pull request #164 from vladikoff/key-stretch-updates
...
Updating methods to use buffers, adding tests, addressing feedback
2013-09-03 14:20:35 -07:00
Danny Coates
d87c0465f0
Removed reference to authToken from Account
...
This was a race condition that could prevent
multiple devices from authenticating simultaneously.
AuthTokens are ephemeral and single-use so don't
need to be managed by the Account.
2013-09-03 11:53:27 -07:00
vladikoff
c6a3e3286b
Updating methods to use buffers, adding tests, addressing feedback
2013-08-29 20:50:37 -07:00
Danny Coates
4485250121
Enhanced logging experience
2013-08-29 13:56:04 -07:00
Ryan Kelly
bae6d84540
Tweak integration tests so they're more easily run against a live server.
2013-08-29 13:11:46 +10:00
Zachary Carter
72ef0af149
client keys command should return kB
2013-08-23 15:10:19 -07:00
vladikoff
95b4679de9
adding kB key
2013-08-22 19:07:06 -07:00
vladikoff
6cd9341019
Style consistency cleanup
2013-08-22 09:57:31 -07:00
vladikoff
4ea38ab744
Adding password stretching
2013-08-21 18:05:43 -07:00
Danny Coates
2b04c921fc
Merge pull request #146 from zaach/email_templates
...
Email templates
2013-08-21 10:54:16 -07:00
Zachary Carter
9ca7052471
respond with an error on incorrect verification codes
2013-08-20 17:57:25 -07:00
Zachary Carter
f9f6b59eaa
Use HTML email templates, proxy the verification page through the bridge
2013-08-20 13:39:23 -07:00
Danny Coates
796a7b124b
Added integration tests
...
- /session/destroy
- /recovery_email/resend_code
- /get_random_bytes
2013-08-19 13:16:13 -07:00
Danny Coates
6adf730960
fix srp tests, bad mailer function
2013-08-15 17:58:01 -07:00
Danny Coates
87e13985a9
changed error responses to include and errno
2013-08-15 16:44:18 -07:00
Danny Coates
fc90de79a2
added verification test for bad forgot password flow
...
updated error responses to more closely match api.md
2013-08-15 13:03:00 -07:00
Danny Coates
c08b67aa66
implemented client side of forgot password
...
added a verification test of the forgot/reset flow
2013-08-14 14:44:19 -07:00
Danny Coates
0dfde2d737
WIP on forgot password tests
2013-08-13 19:51:04 -07:00
Danny Coates
effc806557
began implementing /password/forgot
2013-08-13 19:51:04 -07:00
Zachary Carter
d01cca7594
add high-level login call to client
2013-08-13 19:31:56 -07:00
Danny Coates
bef3c216c9
token.key should be a Buffer, but stored as hex
...
token.key is used by Hawk as the HMAC key. If its
a Buffer, it uses those bytes, if its a string Hawk
converts the it to a Buffer with UTF8 encoding. We
want Hawk to use the "raw" bytes. This was discovered
in #114
2013-08-13 10:35:54 -07:00
vladikoff
e32bfa35e5
style fixes, removing tabs
2013-08-12 18:21:45 -07:00
Danny Coates
3194bdb61d
print smtp debug in verification_tests
2013-08-12 13:49:38 -07:00
Danny Coates
28aab91867
verifier may be less than 256 bytes, test golf
2013-08-12 12:23:46 -07:00
Danny Coates
aa26f2fce0
moved test mail server inside verification test
2013-08-12 11:54:19 -07:00
Danny Coates
ddb4ac13a4
added email verification tests
2013-08-09 20:10:32 -07:00
Zachary Carter
a1fce406fb
handle conversion of email to buffer in the client
2013-08-09 14:21:14 -07:00
Danny Coates
dcf69ff1cf
added /account/destroy integration test
2013-08-09 11:17:47 -07:00
Danny Coates
5d8c98c74a
updated AuthToken behavior for multiple contexts
2013-08-08 14:31:26 -07:00
Danny Coates
9109a58eed
encode email as a hex string of UTF-8 bytes
2013-08-07 15:18:36 -07:00
Danny Coates
fd45e4a8cb
fixed mysql test timeouts suboptimally. fixes #116
2013-08-07 14:29:31 -07:00
Danny Coates
1cecfd5f76
changed recovery_method to recovery_email
2013-08-06 14:59:28 -07:00
Danny Coates
e9a35fac94
implemented new /auth/start /session/create
2013-08-06 12:44:45 -07:00
Danny Coates
df0ac8e8e9
updated /account/create to next api
2013-08-05 17:48:02 -07:00
Danny Coates
f4a2d992b0
use dannycoates/node-srp module
...
This fork uses Buffers for all function input/output and bignum.
I'll be sending a PR to jedp.
2013-08-05 11:36:45 -07:00
Danny Coates
4c37a7cecc
work around mysql in Account.del test
2013-07-31 11:54:47 -07:00
Danny Coates
16c8178fce
made integration.js slightly less ghetto
2013-07-31 11:26:07 -07:00
Danny Coates
a5a9fa731d
many changes to client module, started integration tests
2013-07-31 10:38:21 -07:00
Danny Coates
4c83fd4d37
added error.js for custom errors
2013-07-31 10:38:21 -07:00
Danny Coates
846be8340a
Added config.dev.verified option
...
Create new accounts in a verified state by setting
config.dev.verified to true with the env variable
DEV_VERIFIED=true
2013-07-29 15:09:38 -07:00
Danny Coates
3ce6ff2a45
added more tests and changed verify_code api to not use sessionToken
2013-07-29 12:11:02 -07:00
Danny Coates
a7b48ece91
added tests
2013-07-28 22:17:21 -07:00
Danny Coates
0a5ef54187
made Account work better
2013-07-26 17:00:09 -07:00
Danny Coates
7164bf1c21
reorganize files to hopefully be more sane
2013-07-25 17:15:38 -07:00
Danny Coates
acc0ef6f97
enabled saving tokens on an Account
2013-07-24 13:44:00 -07:00
Danny Coates
b66ee4d855
changed Account.getById to Account.get
2013-07-24 13:44:00 -07:00
Danny Coates
90a29f1c50
reordered api.md + random wip
2013-07-24 13:43:59 -07:00
Danny Coates
190d8739b2
began implementing recovery_methods
2013-07-24 13:43:59 -07:00
Danny Coates
cce4ab7071
WIP on account reset
2013-07-24 13:43:59 -07:00
Danny Coates
69c9c4dcbe
change everything, YOLO
2013-07-24 13:43:59 -07:00
Ryan Kelly
1abe129d01
Fix running of tests against a live server.
...
This requires using a different email address for each test, so that we
can be sure it doesn't already exist. It also requires correct handling
of the "application/json; charset=utf8" content-type which seems to be
generated by the server.
2013-07-24 14:21:43 +10:00
Zachary Carter
6e22f08e11
use old kA on account reset - fixes #59
2013-07-09 16:59:09 -07:00
Danny Coates
b9945e08b6
began implementing reference client
2013-07-09 15:55:39 -07:00
Danny Coates
7633604bc1
Began api.md documentation
...
Also changed the responses for /create and /entropy
so that all responses are JSON
2013-07-09 13:41:47 -07:00
Danny Coates
1c7ef7b21a
add payload verification for fields expected to be hex strings
2013-07-08 18:35:46 -07:00
Zachary Carter
f163fa8caa
include salt in encrypted bundle from client on reset
2013-07-08 17:22:22 -07:00
Danny Coates
cdfecb1226
hex all the strings. closes #51
2013-07-08 14:09:15 -07:00
Zachary Carter
dbd3f3d22f
reset account WIP
2013-07-08 10:59:22 -07:00
Zachary Carter
3e1ed0804d
Merge branch 'housekeeping' of https://github.com/dannycoates/picl-idp into danny-housekeeping
...
Conflicts:
test/integration/account.js
2013-07-03 15:17:42 -07:00
MrDHat
f2779a4907
Added getEntropy endpoint at /entropy
2013-07-04 03:16:22 +05:30
Danny Coates
619f835fc7
removed password login and accountToken
...
Also commented out reset tests until resetToken
is implemented, and refactored login tests.
2013-07-03 14:44:50 -07:00
Danny Coates
63e9e50f40
added /sign tests with invalid data
...
the payload validation test will fail until hapi is fixed.
see https://github.com/spumko/hapi/pull/949
2013-07-02 18:01:25 -07:00
Danny Coates
4a2da1aea6
implemented /sign with hawk credentials
...
uses the signToken to derive the hawk
tokenId and reqHMACkey as specified:
https://wiki.mozilla.org/Identity/AttachedServices/KeyServerProtocol#Signing_Certificates
2013-07-02 14:29:42 -07:00
Danny Coates
a2c66f97fc
added SRP tests
...
also slightly refactored startLogin and finishLogin
2013-06-26 16:41:26 -07:00
Danny Coates
cf7b14855b
Began implementing SRP
2013-06-26 12:01:18 -07:00
Zachary Carter
e3887aad91
implement utilities to compute hmac/xor keys and encrypt response for getSignToken2
2013-06-24 19:02:26 -07:00
Danny Coates
c7abb0c156
use bunyan as the logger, remove 'good'
2013-06-20 11:10:34 -07:00
Zachary Carter
2519d21984
Implement getResetToken and resetPassword of the idp protocol
2013-05-24 16:00:20 -07:00
Danny Coates
5e98adcdf3
added mysql.database to test.json config
2013-05-20 14:10:37 -07:00
Danny Coates
0321ff4139
added test keys
2013-05-20 14:09:12 -07:00
Zachary Carter
318bd677e1
now generates certs from a signToken and public key
2013-05-16 17:13:01 -07:00
Zachary Carter
5725b6d660
additional failure test cases
2013-05-16 00:32:05 -07:00
Zachary Carter
8bd07a5e95
Add failure test cases
2013-05-15 17:05:28 -07:00
Zachary Carter
4d38bdbf51
Implement create, startLogin, and finishLogin sans SRP
2013-05-15 16:52:28 -07:00
Zachary Carter
820633f1bb
add kvstore library and mysql adapter
2013-05-14 17:06:16 -07:00
Zachary Carter
d92d1038aa
Skeleton Hapi app
2013-05-13 17:00:22 -07:00