Skip to content
This repository was archived by the owner on Apr 3, 2019. It is now read-only.

Commit f23098a

Browse files
philboothvbudhram
authored andcommitted
feat(schema): drop the uaFormFactor column from sessionTokens (#262), r=@vbudhram
1 parent 4fd4edd commit f23098a

File tree

10 files changed

+106
-55
lines changed

10 files changed

+106
-55
lines changed

docs/API.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ Parameters.
433433
Each token takes the following fields for it's create method respectively:
434434

435435
* sessionToken : data, uid, createdAt, uaBrowser, uaBrowserVersion, uaOS, uaOSVersion, uaDeviceType,
436-
uaFormFactor, mustVerify, tokenVerificationId
436+
mustVerify, tokenVerificationId
437437
* keyFetchToken : authKey, uid, keyBundle, createdAt, tokenVerificationId
438438
* passwordChangeToken : data, uid, createdAt
439439
* passwordForgotToken : data, uid, passCode, createdAt, triesxb
@@ -477,11 +477,11 @@ These fields are represented as
477477
`ut.*` for a field from `unverifiedTokens`.
478478

479479
* sessionToken : t.tokenData, t.uid, t.createdAt, t.uaBrowser, t.uaBrowserVersion,
480-
t.uaOS, t.uaOSVersion, t.uaDeviceType, t.uaFormFactor, t.lastAccessTime,
480+
t.uaOS, t.uaOSVersion, t.uaDeviceType, t.lastAccessTime,
481481
a.emailVerified, a.email, a.emailCode, a.verifierSetAt,
482482
a.createdAt AS accountCreatedAt
483483
* sessionTokenWithVerificationStatus : t.tokenData, t.uid, t.createdAt, t.uaBrowser, t.uaBrowserVersion,
484-
t.uaOS, t.uaOSVersion, t.uaDeviceType, t.uaFormFactor, t.lastAccessTime,
484+
t.uaOS, t.uaOSVersion, t.uaDeviceType, t.lastAccessTime,
485485
a.emailVerified, a.email, a.emailCode, a.verifierSetAt,
486486
a.createdAt AS accountCreatedAt, ut.mustVerify, ut.tokenVerificationId
487487
* keyFetchToken : t.authKey, t.uid, t.keyBundle, t.createdAt, a.emailVerified, a.verifierSetAt
@@ -608,7 +608,7 @@ These fields are represented as
608608
The deviceCallbackPublicKey and deviceCallbackAuthKey fields are urlsafe-base64 strings, you can learn more about their format [here](https://developers.google.com/web/updates/2016/03/web-push-encryption).
609609

610610
* sessionToken : t.tokenData, t.uid, t.createdAt, t.uaBrowser, t.uaBrowserVersion,
611-
t.uaOS, t.uaOSVersion, t.uaDeviceType, t.uaFormFactor, t.lastAccessTime,
611+
t.uaOS, t.uaOSVersion, t.uaDeviceType, t.lastAccessTime,
612612
a.emailVerified, a.email, a.emailCode, a.verifierSetAt,
613613
a.createdAt AS accountCreatedAt, d.id AS deviceId,
614614
d.name AS deviceName, d.type AS deviceType,

fxa-auth-db-server/docs/API.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,6 @@ Content-Length: 371
480480
"uaOS":"Mac OS X",
481481
"uaOSVersion":"10.10",
482482
"uaDeviceType":null,
483-
"uaFormFactor":null,
484483
"lastAccessTime":1441874852627
485484
}
486485
]
@@ -516,7 +515,6 @@ curl \
516515
"uaOS" : Mac OS X,
517516
"uaOSVersion" : 10.10,
518517
"uaDeviceType" : null,
519-
"uaFormFactor" : null,
520518
"mustVerify":true,
521519
"tokenVerificationId" : "5680a81ba029af7b829afb4aa6dbc23f"
522520
}' \
@@ -537,7 +535,6 @@ curl \
537535
* uaOS : string
538536
* uaOSVersion : string
539537
* uaDeviceType : string
540-
* uaFormFactor : string
541538
* mustVerify : boolean,
542539
* tokenVerificationId : hex128
543540

@@ -662,7 +659,6 @@ Content-Type: application/json
662659
"uaOS": "Android",
663660
"uaOSVersion": "5.1",
664661
"uaDeviceType": "mobile",
665-
"uaFormFactor": null,
666662
"lastAccessTime": 1437992394186,
667663
"email": "foo@example.org"
668664
}
@@ -931,7 +927,6 @@ Content-Length: 285
931927
"uaOS":"Mac OS X",
932928
"uaOSVersion":"10.10",
933929
"uaDeviceType":null,
934-
"uaFormFactor":null,
935930
"lastAccessTime":1460548810011
936931
"emailVerified":0,
937932
"email":"foo@example.com",
@@ -990,7 +985,6 @@ Content-Length: 285
990985
"uaOS":"Mac OS X",
991986
"uaOSVersion":"10.10",
992987
"uaDeviceType":null,
993-
"uaFormFactor":null,
994988
"lastAccessTime":1460548810011
995989
"emailVerified":0,
996990
"email":"foo@example.com",

fxa-auth-db-server/test/backend/db_tests.js

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ const SESSION_TOKEN = {
8383
uaOS : 'mock OS',
8484
uaOSVersion : 'mock OS version',
8585
uaDeviceType : 'mock device type',
86-
uaFormFactor : 'mock form factor',
8786
mustVerify: true,
8887
tokenVerificationId : hex16()
8988
}
@@ -258,7 +257,6 @@ module.exports = function(config, DB) {
258257
uaOS: 'baz',
259258
uaOSVersion: 'qux',
260259
uaDeviceType: 'wibble',
261-
uaFormFactor: 'blee',
262260
mustVerify: false,
263261
tokenVerificationId: hex16()
264262
}
@@ -280,7 +278,7 @@ module.exports = function(config, DB) {
280278
})
281279
.then(function (sessions) {
282280
assert.equal(sessions.length, 1, 'sessions contains one item')
283-
assert.equal(Object.keys(sessions[0]).length, 17, 'session has correct properties')
281+
assert.equal(Object.keys(sessions[0]).length, 16, 'session has correct properties')
284282
assert.equal(sessions[0].tokenId.toString('hex'), SESSION_TOKEN_ID.toString('hex'), 'tokenId is correct')
285283
assert.equal(sessions[0].uid.toString('hex'), ACCOUNT.uid.toString('hex'), 'uid is correct')
286284
assert.equal(sessions[0].createdAt, SESSION_TOKEN.createdAt, 'createdAt is correct')
@@ -289,7 +287,6 @@ module.exports = function(config, DB) {
289287
assert.equal(sessions[0].uaOS, SESSION_TOKEN.uaOS, 'uaOS is correct')
290288
assert.equal(sessions[0].uaOSVersion, SESSION_TOKEN.uaOSVersion, 'uaOSVersion is correct')
291289
assert.equal(sessions[0].uaDeviceType, SESSION_TOKEN.uaDeviceType, 'uaDeviceType is correct')
292-
assert.equal(sessions[0].uaFormFactor, SESSION_TOKEN.uaFormFactor, 'uaFormFactor is correct')
293290
assert.equal(sessions[0].lastAccessTime, SESSION_TOKEN.createdAt, 'lastAccessTime is correct')
294291

295292
// Fetch the session token
@@ -305,7 +302,6 @@ module.exports = function(config, DB) {
305302
assert.equal(token.uaOS, SESSION_TOKEN.uaOS, 'uaOS is correct')
306303
assert.equal(token.uaOSVersion, SESSION_TOKEN.uaOSVersion, 'uaOSVersion is correct')
307304
assert.equal(token.uaDeviceType, SESSION_TOKEN.uaDeviceType, 'uaDeviceType is correct')
308-
assert.equal(token.uaFormFactor, SESSION_TOKEN.uaFormFactor, 'uaFormFactor is correct')
309305
assert.equal(token.lastAccessTime, SESSION_TOKEN.createdAt, 'lastAccessTime was set')
310306
assert.equal(!! token.emailVerified, ACCOUNT.emailVerified, 'token emailVerified is same as account emailVerified')
311307
assert.equal(token.email, ACCOUNT.email, 'token email same as account email')
@@ -339,7 +335,6 @@ module.exports = function(config, DB) {
339335
assert.equal(sessions[0].uaOS, 'bar', 'uaOS is correct')
340336
assert.equal(sessions[0].uaOSVersion, '2', 'uaOSVersion is correct')
341337
assert.equal(sessions[0].uaDeviceType, 'baz', 'uaDeviceType is correct')
342-
assert.equal(sessions[0].uaFormFactor, SESSION_TOKEN.uaFormFactor, 'uaFormFactor is correct')
343338
assert.equal(sessions[0].lastAccessTime, 42, 'lastAccessTime is correct')
344339

345340
// Fetch the session token
@@ -354,7 +349,6 @@ module.exports = function(config, DB) {
354349
assert.equal(token.uaOS, 'bar', 'uaOS is correct')
355350
assert.equal(token.uaOSVersion, '2', 'uaOSVersion is correct')
356351
assert.equal(token.uaDeviceType, 'baz', 'uaDeviceType is correct')
357-
assert.equal(token.uaFormFactor, SESSION_TOKEN.uaFormFactor, 'uaFormFactor is correct')
358352
assert.equal(token.lastAccessTime, 42, 'lastAccessTime is correct')
359353
assert.equal(!! token.emailVerified, ACCOUNT.emailVerified, 'token emailVerified is same as account emailVerified')
360354
assert.equal(token.email, ACCOUNT.email, 'token email same as account email')
@@ -376,7 +370,6 @@ module.exports = function(config, DB) {
376370
assert.equal(token.uaOS, 'bar', 'uaOS is correct')
377371
assert.equal(token.uaOSVersion, '2', 'uaOSVersion is correct')
378372
assert.equal(token.uaDeviceType, 'baz', 'uaDeviceType is correct')
379-
assert.equal(token.uaFormFactor, SESSION_TOKEN.uaFormFactor, 'uaFormFactor is correct')
380373
assert.equal(token.lastAccessTime, 42, 'lastAccessTime is correct')
381374
assert.equal(!! token.emailVerified, ACCOUNT.emailVerified, 'token emailVerified is same as account emailVerified')
382375
assert.equal(token.email, ACCOUNT.email, 'token email same as account email')
@@ -395,8 +388,7 @@ module.exports = function(config, DB) {
395388
uaBrowserVersion: 'b',
396389
uaOS: 'c',
397390
uaOSVersion: 'd',
398-
uaDeviceType: 'e',
399-
uaFormFactor: 'f'
391+
uaDeviceType: 'e'
400392
})
401393
})
402394
.then(function (result) {
@@ -418,7 +410,6 @@ module.exports = function(config, DB) {
418410
assert.equal(sessions[index].uaOS, 'c', 'uaOS is correct')
419411
assert.equal(sessions[index].uaOSVersion, 'd', 'uaOSVersion is correct')
420412
assert.equal(sessions[index].uaDeviceType, 'e', 'uaDeviceType is correct')
421-
assert.equal(sessions[index].uaFormFactor, 'f', 'uaFormFactor is correct')
422413

423414
// Fetch the verified session token
424415
return db.sessionToken(VERIFIED_SESSION_TOKEN_ID)
@@ -430,7 +421,6 @@ module.exports = function(config, DB) {
430421
assert.equal(token.uaOS, 'c', 'uaOS is correct')
431422
assert.equal(token.uaOSVersion, 'd', 'uaOSVersion is correct')
432423
assert.equal(token.uaDeviceType, 'e', 'uaDeviceType is correct')
433-
assert.equal(token.uaFormFactor, 'f', 'uaFormFactor is correct')
434424
assert.equal(!! token.emailVerified, ACCOUNT.emailVerified, 'token emailVerified is same as account emailVerified')
435425
assert.equal(token.mustVerify, undefined, 'mustVerify is undefined')
436426
assert.equal(token.tokenVerificationId, undefined, 'tokenVerificationId is undefined')

fxa-auth-db-server/test/backend/remote.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ module.exports = function(cfg, makeServer) {
345345
respOk(r)
346346
var sessions = r.obj
347347
assert.equal(sessions.length, 1, 'sessions contains one item')
348-
assert.equal(Object.keys(sessions[0]).length, 17, 'session has correct properties')
348+
assert.equal(Object.keys(sessions[0]).length, 16, 'session has correct properties')
349349
assert.equal(sessions[0].tokenId, user.sessionTokenId, 'tokenId is correct')
350350
assert.equal(sessions[0].uid, user.accountId, 'uid is correct')
351351
assert.equal(sessions[0].createdAt, user.sessionToken.createdAt, 'createdAt is correct')
@@ -354,7 +354,6 @@ module.exports = function(cfg, makeServer) {
354354
assert.equal(sessions[0].uaOS, user.sessionToken.uaOS, 'uaOS is correct')
355355
assert.equal(sessions[0].uaOSVersion, user.sessionToken.uaOSVersion, 'uaOSVersion is correct')
356356
assert.equal(sessions[0].uaDeviceType, user.sessionToken.uaDeviceType, 'uaDeviceType is correct')
357-
assert.equal(sessions[0].uaFormFactor, user.sessionToken.uaFormFactor, 'uaFormFactor is correct')
358357
assert.equal(sessions[0].lastAccessTime, user.sessionToken.createdAt, 'lastAccessTime is correct')
359358

360359
// Fetch the session token
@@ -371,7 +370,6 @@ module.exports = function(cfg, makeServer) {
371370
assert.equal(token.uaOS, user.sessionToken.uaOS, 'uaOS matches')
372371
assert.equal(token.uaOSVersion, user.sessionToken.uaOSVersion, 'uaOSVersion matches')
373372
assert.equal(token.uaDeviceType, user.sessionToken.uaDeviceType, 'uaDeviceType matches')
374-
assert.equal(token.uaFormFactor, user.sessionToken.uaFormFactor, 'uaFormFactor matches')
375373
assert.equal(token.lastAccessTime, token.createdAt, 'lastAccessTime was set')
376374
assert.equal(!! token.emailVerified, user.account.emailVerified, 'emailVerified same as account emailVerified')
377375
assert.equal(token.email, user.account.email, 'token.email same as account email')
@@ -395,7 +393,6 @@ module.exports = function(cfg, makeServer) {
395393
assert.equal(token.uaOS, user.sessionToken.uaOS, 'uaOS matches')
396394
assert.equal(token.uaOSVersion, user.sessionToken.uaOSVersion, 'uaOSVersion matches')
397395
assert.equal(token.uaDeviceType, user.sessionToken.uaDeviceType, 'uaDeviceType matches')
398-
assert.equal(token.uaFormFactor, user.sessionToken.uaFormFactor, 'uaFormFactor matches')
399396
assert.equal(token.lastAccessTime, token.createdAt, 'lastAccessTime was set')
400397
assert.equal(!! token.emailVerified, user.account.emailVerified, 'emailVerified same as account emailVerified')
401398
assert.equal(token.email, user.account.email, 'token.email same as account email')
@@ -425,7 +422,6 @@ module.exports = function(cfg, makeServer) {
425422
assert.equal(token.uaOS, verifiedUser.sessionToken.uaOS, 'uaOS matches')
426423
assert.equal(token.uaOSVersion, verifiedUser.sessionToken.uaOSVersion, 'uaOSVersion matches')
427424
assert.equal(token.uaDeviceType, verifiedUser.sessionToken.uaDeviceType, 'uaDeviceType matches')
428-
assert.equal(token.uaFormFactor, verifiedUser.sessionToken.uaFormFactor, 'uaFormFactor matches')
429425
assert.equal(token.lastAccessTime, token.createdAt, 'lastAccessTime was set')
430426
assert.equal(!! token.emailVerified, verifiedUser.account.emailVerified, 'emailVerified same as account emailVerified')
431427
assert.equal(token.email, verifiedUser.account.email, 'token.email same as account email')
@@ -449,7 +445,6 @@ module.exports = function(cfg, makeServer) {
449445
assert.equal(token.uaOS, verifiedUser.sessionToken.uaOS, 'uaOS matches')
450446
assert.equal(token.uaOSVersion, verifiedUser.sessionToken.uaOSVersion, 'uaOSVersion matches')
451447
assert.equal(token.uaDeviceType, verifiedUser.sessionToken.uaDeviceType, 'uaDeviceType matches')
452-
assert.equal(token.uaFormFactor, verifiedUser.sessionToken.uaFormFactor, 'uaFormFactor matches')
453448
assert.equal(token.lastAccessTime, token.createdAt, 'lastAccessTime was set')
454449
assert.equal(!! token.emailVerified, verifiedUser.account.emailVerified, 'emailVerified same as account emailVerified')
455450
assert.equal(token.email, verifiedUser.account.email, 'token.email same as account email')
@@ -590,7 +585,6 @@ module.exports = function(cfg, makeServer) {
590585
assert(s.uaBrowser)
591586
assert(s.uaBrowserVersion)
592587
assert(s.uaDeviceType)
593-
assert(s.uaFormFactor)
594588
assert(s.uaOS)
595589
assert(s.uaOSVersion)
596590
assert(s.uid)
@@ -624,7 +618,7 @@ module.exports = function(cfg, makeServer) {
624618
return client.getThen('/sessionToken/' + user.sessionTokenId)
625619
.then(
626620
() => assert(false, 'Fetching the non-existant sessionToken should have failed'),
627-
() => assert('Fetching the non-existant sessionToken failed as expected')
621+
err => testNotFound(err)
628622
)
629623
})
630624
}
@@ -660,7 +654,7 @@ module.exports = function(cfg, makeServer) {
660654
respOk(r)
661655
var devices = r.obj
662656
assert.equal(devices.length, 1, 'devices contains one item')
663-
assert.equal(Object.keys(devices[0]).length, 17, 'device has seventeen properties')
657+
assert.equal(Object.keys(devices[0]).length, 16, 'device has sixteen properties')
664658
assert.equal(devices[0].uid, user.accountId, 'uid is correct')
665659
assert.equal(devices[0].id, user.deviceId, 'id is correct')
666660
assert.equal(devices[0].sessionTokenId, user.sessionTokenId, 'sessionTokenId is correct')
@@ -675,7 +669,6 @@ module.exports = function(cfg, makeServer) {
675669
assert.equal(devices[0].uaOS, user.sessionToken.uaOS, 'uaOS is correct')
676670
assert.equal(devices[0].uaOSVersion, user.sessionToken.uaOSVersion, 'uaOSVersion is correct')
677671
assert.equal(devices[0].uaDeviceType, user.sessionToken.uaDeviceType, 'uaDeviceType is correct')
678-
assert.equal(devices[0].uaFormFactor, user.sessionToken.uaFormFactor, 'uaFormFactor is correct')
679672
assert.equal(devices[0].lastAccessTime, user.sessionToken.createdAt, 'lastAccessTime is correct')
680673
assert.equal(devices[0].email, user.account.email, 'email is correct')
681674
})
@@ -723,7 +716,6 @@ module.exports = function(cfg, makeServer) {
723716
assert.equal(devices[0].uaOS, user.sessionToken.uaOS, 'uaOS is correct')
724717
assert.equal(devices[0].uaOSVersion, user.sessionToken.uaOSVersion, 'uaOSVersion is correct')
725718
assert.equal(devices[0].uaDeviceType, user.sessionToken.uaDeviceType, 'uaDeviceType is correct')
726-
assert.equal(devices[0].uaFormFactor, user.sessionToken.uaFormFactor, 'uaFormFactor is correct')
727719
assert.equal(devices[0].lastAccessTime, user.sessionToken.createdAt, 'lastAccessTime is correct')
728720
assert.equal(devices[0].email, user.account.email, 'email is correct')
729721

fxa-auth-db-server/test/fake.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ module.exports.newUserDataHex = function() {
5757
uaOS: 'fake OS',
5858
uaOSVersion: 'fake OS version',
5959
uaDeviceType: 'fake device type',
60-
uaFormFactor: 'fake form factor',
6160
mustVerify: true,
6261
tokenVerificationId: hex16()
6362
}

lib/db/mem.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ var SESSION_FIELDS = [
4343
'uaOS',
4444
'uaOSVersion',
4545
'uaDeviceType',
46-
'uaFormFactor',
4746
'lastAccessTime'
4847
]
4948

@@ -115,7 +114,6 @@ module.exports = function (log, error) {
115114
uaOS: sessionToken.uaOS,
116115
uaOSVersion: sessionToken.uaOSVersion,
117116
uaDeviceType: sessionToken.uaDeviceType,
118-
uaFormFactor: sessionToken.uaFormFactor,
119117
lastAccessTime: sessionToken.createdAt
120118
}
121119

@@ -572,7 +570,6 @@ module.exports = function (log, error) {
572570
uaOS: sessionToken.uaOS || null,
573571
uaOSVersion: sessionToken.uaOSVersion || null,
574572
uaDeviceType: sessionToken.uaDeviceType || null,
575-
uaFormFactor: sessionToken.uaFormFactor || null,
576573
lastAccessTime: sessionToken.lastAccessTime,
577574
// device information
578575
deviceId: deviceInfo.id || null,
@@ -613,7 +610,6 @@ module.exports = function (log, error) {
613610
item.uaOS = sessionTokens[id].uaOS || null
614611
item.uaOSVersion = sessionTokens[id].uaOSVersion || null
615612
item.uaDeviceType = sessionTokens[id].uaDeviceType || null
616-
item.uaFormFactor = sessionTokens[id].uaFormFactor || null
617613
item.lastAccessTime = sessionTokens[id].lastAccessTime
618614

619615
var accountId = sessionTokens[id].uid.toString('hex')

0 commit comments

Comments
 (0)