Skip to content

Feat/seedless refresh token #5917

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 228 commits into from
Jun 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
228 commits
Select commit Hold shift + click to select a range
fe3f95c
feat: init SeedlessOnboardingController
lwin-kyaw Apr 8, 2025
de16123
feat: added optional vault Encryptor in constructor args
lwin-kyaw Apr 10, 2025
65cb47a
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw Apr 17, 2025
6a30638
feat: authenticate, createSeedPhraseBackup and fetchSeedPhraseBackup
lwin-kyaw Apr 17, 2025
65a443d
feat: changePassword
lwin-kyaw Apr 17, 2025
4294696
feat: addMultiSrpBackup, batchAddBackup
lwin-kyaw Apr 17, 2025
499bcc9
lint: fixed lint
lwin-kyaw Apr 17, 2025
8ad9c24
fix: updated CODEOWNERS
lwin-kyaw Apr 17, 2025
611d358
added tgz package for TOPRF
lwin-kyaw Apr 17, 2025
21df27b
lint: fixed
lwin-kyaw Apr 17, 2025
c2bc7b4
updated changelog
lwin-kyaw Apr 17, 2025
54e21b4
fix: validate changelog
lwin-kyaw Apr 17, 2025
999f1df
added PR number to changelog
lwin-kyaw Apr 17, 2025
13da8a7
validate changelog
lwin-kyaw Apr 17, 2025
94ba335
update: toprf-secure-backup package
lwin-kyaw Apr 17, 2025
aaa9586
fix: export errors from controller
lwin-kyaw Apr 17, 2025
9137174
Update packages/seedless-onboarding-controller/package.json
chaitanyapotti Apr 17, 2025
b9f9980
Update packages/seedless-onboarding-controller/src/SeedlessOnboarding…
chaitanyapotti Apr 17, 2025
f3e8fed
Update packages/seedless-onboarding-controller/src/SeedlessOnboarding…
chaitanyapotti Apr 17, 2025
acacda1
Update packages/seedless-onboarding-controller/src/SeedlessOnboarding…
chaitanyapotti Apr 17, 2025
0f28440
Update packages/seedless-onboarding-controller/src/SeedlessOnboarding…
chaitanyapotti Apr 17, 2025
0677d52
fix: review comments regarding authenticate and default network
chaitanyapotti Apr 17, 2025
8cc08fc
Merge branch 'feat/seedless-onboarding-controller' of github.com:Meta…
chaitanyapotti Apr 17, 2025
334e060
fix: import of keccak256 + rename variables
chaitanyapotti Apr 17, 2025
cd62441
fix: comment batchadd
chaitanyapotti Apr 17, 2025
e7c66cd
fix: lint
lwin-kyaw Apr 18, 2025
37d6821
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw Apr 18, 2025
b0ebb02
fixed: build
lwin-kyaw Apr 18, 2025
969053f
test: updated comment in jest.enviroment.js which defines 'webCrypto'
lwin-kyaw Apr 18, 2025
caa3fef
chore: updated comments for withPersistedSeedPhraseBackupsState method
lwin-kyaw Apr 18, 2025
37ae6db
chore: renamed and updated comments for '#verifyPassword' method
lwin-kyaw Apr 18, 2025
eb7735a
chore: updated exports from the controller
lwin-kyaw Apr 18, 2025
14b308c
chore: created a function to get default state of SeedlessOnboardingC…
lwin-kyaw Apr 18, 2025
897ac71
chore: removed description tag from jsDoc
lwin-kyaw Apr 18, 2025
79ace98
chore: removed commented methods
lwin-kyaw Apr 18, 2025
1dd4792
fix: redefined the ControllerMessenger actions and event lists
lwin-kyaw Apr 18, 2025
aef4e8a
chore: updated comments and state in SeedlessOnobardingControllerOptions
lwin-kyaw Apr 18, 2025
6457e06
chore: removed unused packages
lwin-kyaw Apr 18, 2025
5793bba
chore: renamed and add comments on VaultEncryptor
lwin-kyaw Apr 18, 2025
432719d
fix: updated 'getSeedPhraseBackupHash' implementation
lwin-kyaw Apr 18, 2025
3337ea3
lint: fixed lint
lwin-kyaw Apr 18, 2025
422c6a6
fix: add comments
chaitanyapotti Apr 18, 2025
7d7a364
Merge branch 'feat/seedless-onboarding-controller' of github.com:Meta…
chaitanyapotti Apr 18, 2025
6487985
Update packages/seedless-onboarding-controller/README.md
chaitanyapotti Apr 18, 2025
b4f51e9
fix: don't export controller name
chaitanyapotti Apr 18, 2025
00e768c
Merge branches 'feat/seedless-onboarding-controller' and 'feat/seedle…
chaitanyapotti Apr 18, 2025
50b7721
feat: updated ControllerState with AuthenticatedUserDetails
lwin-kyaw Apr 20, 2025
b9d5da0
test: updated tests with new state data
lwin-kyaw Apr 20, 2025
3b92842
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw Apr 20, 2025
ddbcf04
fix: export 'SeedlessOnboardingControllerError'
lwin-kyaw Apr 20, 2025
055a4f5
fix: export 'getDefaultSeedlessOnboardingControllerState'
lwin-kyaw Apr 21, 2025
52646a9
fix: removed 'addNewSrpBackup' method
lwin-kyaw Apr 22, 2025
11d6552
feat: added 'encryptionKey' and 'encryptionSalt' to state
lwin-kyaw Apr 22, 2025
5a2953c
feat: add new private method, 'verifyPassword` to verify password val…
lwin-kyaw Apr 22, 2025
3aa52ba
feat: updated vault encryption scheme
lwin-kyaw Apr 22, 2025
5347ab5
feat: add new method 'addNewSeedPhraseBackup' for multi-srp
lwin-kyaw Apr 22, 2025
3301236
fix: fixed vaultEncKey and password check
lwin-kyaw Apr 22, 2025
534f04c
test: updated tests for multi-srp and new vault encryption scheme
lwin-kyaw Apr 22, 2025
57636e6
lint: removed unused imports
lwin-kyaw Apr 22, 2025
b15d1d9
feat: locked controller and clear secrets on keyring lock state
lwin-kyaw Apr 22, 2025
6cae65b
fix: removed password cache value from Controller
lwin-kyaw Apr 22, 2025
f8dd9fb
test: fixed and updated tests
lwin-kyaw Apr 22, 2025
7cbf63a
fix: updated and renamed SeedlessOnboardingController backup state
lwin-kyaw Apr 23, 2025
c4dd03b
test: updated tests for SocialBackupMetadata state
lwin-kyaw Apr 23, 2025
fc2a397
feat: add AuthConnection and SocialLoginEmail for SeedlessOnboardingC…
lwin-kyaw Apr 23, 2025
4104408
chores: make 'socialLoginEmail' as optional param in Authenticate
lwin-kyaw Apr 23, 2025
92525ee
feat: updated toprf package and fixed RatelimitError handling
lwin-kyaw Apr 23, 2025
4e3447e
Merge remote-tracking branch 'origin/feat/seedless-onboarding-control…
lwin-kyaw Apr 24, 2025
ee4c437
Merge branch 'main' into feat/seedless-onboarding-controller
chaitanyapotti Apr 24, 2025
2df1360
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw Apr 24, 2025
7aa2764
Merge remote-tracking branch 'origin/feat/seedless-onboarding-control…
lwin-kyaw Apr 24, 2025
9198631
feat: sync SeedlessOnboardingController lock with Keyring
lwin-kyaw Apr 24, 2025
60cff9b
feat: handle password sync oudated check and recover password
tuna1207 Apr 25, 2025
9716513
feat: allow multiple backupState in updateBackupMetadataState method
lwin-kyaw Apr 25, 2025
ad56538
feat: change order of seedPhrases in fetchAllSeedPhrase method
lwin-kyaw Apr 25, 2025
88b4b6c
Merge remote-tracking branch 'origin/feat/seedless-onboarding-passwor…
lwin-kyaw Apr 25, 2025
d05d5ef
fix: correct password sync error
tuna1207 Apr 25, 2025
c1920ec
Merge commit 'ad56538c0f40e506e06fcf0fae61c0ba85e7cba9' into feat/see…
tuna1207 Apr 27, 2025
5c6fc9c
feat: add with controller lock
tuna1207 Apr 28, 2025
327f079
feat: add sync latest global password
tuna1207 Apr 28, 2025
3a06bbe
feat: add check outdated password cache
tuna1207 Apr 28, 2025
103e7fd
feat: add skip cache param for assert password in sync
tuna1207 Apr 28, 2025
6054148
feat: reset password outdated cache after password change
tuna1207 Apr 28, 2025
f2b5d96
fix: use Keyring Encryptor as vault encryptor
lwin-kyaw Apr 29, 2025
9b2cb7b
chore: added controller tgz to git
lwin-kyaw Apr 29, 2025
b22516f
fix: encryptor type
ieow Apr 29, 2025
31d7796
fix: remove un-needed typing
ieow Apr 29, 2025
4dcc584
Merge pull request #7 from Web3Auth/fix/encryptor-type
lwin-kyaw Apr 29, 2025
ea742ec
chore: updated tgz
lwin-kyaw Apr 29, 2025
885b798
fix: remove web encryptor from controller
ieow Apr 30, 2025
816abb7
feat: update package.tgz
ieow Apr 30, 2025
5de4c1d
fix: make setUnlocked public
ieow Apr 30, 2025
51da766
feat: update package.tgz
ieow Apr 30, 2025
37f7a80
fix: cannot write private member
ieow Apr 30, 2025
e26e29b
feat: update package.tgz
ieow Apr 30, 2025
084ebb8
refactor: use recoverCurrentDevicePassword method
tuna1207 Apr 30, 2025
d9a62f9
feat: increase pw oudated cache ttl to 30mins
tuna1207 Apr 30, 2025
af08c93
refactor: correct latest encKey variable name
tuna1207 Apr 30, 2025
bba8844
refactor: verify password naming
tuna1207 Apr 30, 2025
b28ca60
refactor: correct naming
tuna1207 Apr 30, 2025
63a4fa2
refactor: use noble lib to deserialize pubkey and compare curve point
tuna1207 Apr 30, 2025
eef0ebd
Merge branch 'feat/seedless-multi-srp' into feat/seedless-onboarding-…
tuna1207 Apr 30, 2025
bc23413
Merge remote-tracking branch 'origin/fix/encryptor-type' into fix/enc…
lwin-kyaw May 6, 2025
a4a6ece
feat: persist nodeAuthTokens
tuna1207 May 6, 2025
b5931c1
fix: fixed tests
lwin-kyaw May 6, 2025
3065919
Merge pull request #8 from Web3Auth/fix/encryptor-type
lwin-kyaw May 6, 2025
b678960
Merge commit '30659194bff98d3284c3607aaa814d1ac9a3068b' into feat/see…
tuna1207 May 6, 2025
69449a9
feat: removed toprf tgz packages and used npm packages
lwin-kyaw May 6, 2025
ef48697
fix: add missing catch in set locked
tuna1207 May 6, 2025
e160282
Merge remote-tracking branch 'origin/feat/seedless-onboarding-control…
lwin-kyaw May 6, 2025
b7201c3
Merge remote-tracking branch 'origin/feat/seedless-multi-srp' into fe…
lwin-kyaw May 6, 2025
c1619fc
fix: removed 'assertIsUnlocked' check in 'setLock' method
lwin-kyaw May 6, 2025
fe94eac
feat: removed tgz files and replaced with npm packcages
lwin-kyaw May 6, 2025
510912f
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw May 6, 2025
5e776e2
fix: fixed lint
lwin-kyaw May 6, 2025
82ecfdc
fix: check password in sync skip cache in change password and add srp
tuna1207 May 6, 2025
92eb428
Merge branch 'main' into feat/seedless-onboarding-controller
chaitanyapotti May 6, 2025
09f490a
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw May 7, 2025
6fdf76c
Merge branch 'main' into feat/seedless-onboarding-controller
lwin-kyaw May 7, 2025
6fbd735
fix: fixed lint
lwin-kyaw May 7, 2025
fcb4aa2
Merge remote-tracking branch 'origin/feat/seedless-onboarding-control…
lwin-kyaw May 7, 2025
765bfcc
feat: updated seedless-onboarding-controller tgz package
lwin-kyaw May 7, 2025
1e1c4b3
Merge branch 'feat/seedless-multi-srp' into feat/seedless-onboarding-…
tuna1207 May 8, 2025
458437b
fix: correct setlock synchronous
tuna1207 May 8, 2025
4820a8c
fix: correct test and doc
tuna1207 May 8, 2025
630ed14
chore: allow 'toprf-secure-backup' package in lavamoat
lwin-kyaw May 9, 2025
971e1a6
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw May 10, 2025
d77a46d
feat: added new method to clear the controller state
lwin-kyaw May 12, 2025
8a04e03
Merge branch 'feat/seedless-onboarding-controller' into feat/seedless…
lwin-kyaw May 12, 2025
3887992
Merge pull request #11 from MetaMask/feat/seedless-onboarding-controller
lwin-kyaw May 12, 2025
4ea5e37
Merge remote-tracking branch 'origin/feat/seedless-onboarding-control…
lwin-kyaw May 12, 2025
e856469
chore: used 'some' instead of 'find' to check the existing backup data
lwin-kyaw May 12, 2025
264641d
feat: update metadata class to support multiple secret types
lwin-kyaw May 13, 2025
fd81fc4
test: updated tests
lwin-kyaw May 13, 2025
da85dbd
chore: updated seedless-onboarding-controller tgz package
lwin-kyaw May 13, 2025
25eef94
chore: update 'ISecretMetadata' to include SecretType
lwin-kyaw May 13, 2025
511abfc
chore: renamed 'seedPhrase' field to 'data' in SeedPhraseMetadata class
lwin-kyaw May 13, 2025
45a9104
Merge branch 'MetaMask:feat/seedless-onboarding-controller' into feat…
lwin-kyaw May 13, 2025
0aeb958
Merge remote-tracking branch 'origin/feat/seedless-onboarding-control…
lwin-kyaw May 13, 2025
ed12037
chore: updated tgz package
lwin-kyaw May 13, 2025
0b67570
feat: add 'version' to SecretMetadata
lwin-kyaw May 14, 2025
ceda10e
feat: make 'data' field to Generic in SecretMetadata
lwin-kyaw May 14, 2025
cda6764
test: updated tests
lwin-kyaw May 14, 2025
7edfcb7
Merge remote-tracking branch 'origin/feat/seedless-multi-srp' into fe…
lwin-kyaw May 14, 2025
ad2b854
Merge branch 'feat/seedless-multi-srp' into feat/seedless-onboarding-…
May 14, 2025
7104c8c
Merge pull request #12 from Web3Auth/feat/secret-metadata-type
chaitanyapotti May 14, 2025
9cf2022
Merge branch 'feat/seedless-multi-srp' into feat/seedless-onboarding-…
May 14, 2025
d823bd6
refactor: add await to follow guide line
May 14, 2025
7b0ec56
feat: setup update tgz
May 19, 2025
74c23a9
Merge remote-tracking branch 'origin/feat/seedless-onboarding-passwor…
lwin-kyaw May 20, 2025
e1a9ea1
feat: updated toprf-secure-backup sdk
lwin-kyaw May 20, 2025
7c0c403
test: updated tests
lwin-kyaw May 20, 2025
3553f10
docs: updated changelog
lwin-kyaw May 20, 2025
3119075
fix: fixed changelog
lwin-kyaw May 20, 2025
fefb8a9
feat: updated authenticate method params
lwin-kyaw May 21, 2025
1c8c271
feat: add changelog
May 21, 2025
a8373d2
feat: add test case for add new srp password outdated
May 21, 2025
61b9a66
feat: correct single lock utilization
May 21, 2025
0f7cc87
feat: update change log
May 21, 2025
2425932
docs: updated and added missing jsDocs
lwin-kyaw May 22, 2025
7688db3
chore: removed static method 'getRateLimitErrorData' to utils function
lwin-kyaw May 22, 2025
1ed1ede
chore: renamed 'SeedlessOnboardingControllerError' enum to 'SeedlessO…
lwin-kyaw May 22, 2025
cacd5bc
fix: fixed lint
lwin-kyaw May 22, 2025
607badb
Merge remote-tracking branch 'origin/feat/seedless-onboarding-control…
lwin-kyaw May 22, 2025
d00bf53
chore: removed redundant unittests
lwin-kyaw May 22, 2025
8036237
Merge remote-tracking branch 'origin/feat/seedless-multi-srp' into fe…
lwin-kyaw May 22, 2025
28db351
Merge remote-tracking branch 'origin/feat/seedless-onboarding-passwor…
lwin-kyaw May 22, 2025
bf3862a
chore: resolved conflicts
lwin-kyaw May 22, 2025
e280b1e
docs: updated ChangeLog
lwin-kyaw May 22, 2025
235e255
Merge remote-tracking branch 'origin/feat/seedless-multi-srp' into fe…
lwin-kyaw May 22, 2025
8f1c2ee
docs: updated ChangeLog
lwin-kyaw May 22, 2025
0515dab
Merge remote-tracking branch 'origin/feat/seedless-onboarding-passwor…
lwin-kyaw May 22, 2025
ee43807
chore: updated yarn.lock
lwin-kyaw May 25, 2025
c191599
feat: refactored #recoverEncKey method
lwin-kyaw May 26, 2025
109fbb8
Merge remote-tracking branch 'origin/feat/toprf-sdk-update' into feat…
lwin-kyaw May 26, 2025
4cd81ff
Merge remote-tracking branch 'origin/feat/auth-network-config' into f…
lwin-kyaw May 26, 2025
dc93ada
feat: added new state, 'recoveryRatelimitCache', and updated 'Recover…
lwin-kyaw May 26, 2025
be8fed5
test: updated tests
lwin-kyaw May 26, 2025
74d47f0
chore: updated JsDocs and exports
lwin-kyaw May 26, 2025
e6fb3a0
docs: updated ChangeLog
lwin-kyaw May 26, 2025
7320a8f
feat: fetch SeedPhrases backup with cached encryption key
lwin-kyaw May 29, 2025
0537c4f
Merge remote-tracking branch 'origin/main' into feat/seedless-multi-srp
lwin-kyaw May 29, 2025
5f8ef7b
fix: fixed lint
lwin-kyaw May 29, 2025
1f9e985
Merge remote-tracking branch 'origin/main' into feat/seedless-onboard…
lwin-kyaw May 29, 2025
eb017d9
docs: updated ChangeLog
lwin-kyaw May 29, 2025
3308a1b
Merge remote-tracking branch 'upstream/feat/seedless-onboarding-contr…
lwin-kyaw May 29, 2025
dbd6206
docs: updated change log
lwin-kyaw May 29, 2025
3013c01
Merge remote-tracking branch 'origin/feat/seedless-multi-srp' into fe…
lwin-kyaw May 29, 2025
55756f0
docs: updated change log
lwin-kyaw May 29, 2025
8d8b458
chore: removed tgz package
lwin-kyaw May 29, 2025
ae46257
chore: removed toprf-secure-backup.tgz
lwin-kyaw May 29, 2025
8c917fc
chore: update tropf-secure-backup sdk to v0.3.0
lwin-kyaw May 29, 2025
7e7c7e3
Merge pull request #17 from Web3Auth/feat/cache-recovery-ratelimit
lwin-kyaw May 29, 2025
ad7bb98
Merge pull request #16 from Web3Auth/feat/auth-network-config
lwin-kyaw May 29, 2025
3ec70ca
Merge remote-tracking branch 'upstream/feat/seedless-onboarding-passw…
lwin-kyaw May 29, 2025
df6a412
chore: updated usage of 'groupedAuthConnectionId'
lwin-kyaw May 29, 2025
4bd767a
docs: updated ChangeLog
lwin-kyaw May 29, 2025
8536e06
feat: handle refresh token logic
tuna1207 May 23, 2025
a69bc83
feat: fix eslint
tuna1207 May 23, 2025
9b475a3
feat: sync latest password execute with refresh token
tuna1207 May 25, 2025
f545879
chore: remove redundant import
tuna1207 May 30, 2025
d7a67cb
fix: update test
tuna1207 May 30, 2025
ebe5129
feat: handle revoke refresh token
tuna1207 May 30, 2025
d69faed
Merge branch 'main' into feat/seedless-refresh-token
tuna1207 May 31, 2025
63de572
feat: add execute with refresh token for recover password
tuna1207 Jun 2, 2025
bace39f
feat: update check is password outdated name and cache return
tuna1207 Jun 2, 2025
2fdcda6
fix: correct skipLock param description
tuna1207 Jun 2, 2025
08be49d
feat: correct assertIsAuthenticatedUser error and caller inside lock
tuna1207 Jun 2, 2025
a0b20ca
feat: handle proactive token expire check
tuna1207 Jun 2, 2025
d712fd1
fix: remove unneeded import
tuna1207 Jun 2, 2025
de2d264
feat: correct refresh node auth token assert check
tuna1207 Jun 3, 2025
70c99e6
chore: update comment
tuna1207 Jun 3, 2025
fa3b956
chore: correct comment for refreshToken in state
tuna1207 Jun 3, 2025
bbd43ab
feat: correct error for missing revoke token
tuna1207 Jun 4, 2025
bf06054
chore: update changelog
tuna1207 Jun 4, 2025
882dc49
Merge branch 'main' into feat/seedless-refresh-token
tuna1207 Jun 4, 2025
bfd459a
chore: update changelog
tuna1207 Jun 4, 2025
8a37522
fix: correct changelog
tuna1207 Jun 4, 2025
1fd2492
fix: correct changelog
tuna1207 Jun 4, 2025
764d032
feat: add missing test coverage
tuna1207 Jun 5, 2025
fa7bd96
Merge branch 'main' into feat/seedless-refresh-token
tuna1207 Jun 10, 2025
0006267
fix: correct test case
tuna1207 Jun 10, 2025
898f965
fix: update changelog
tuna1207 Jun 10, 2025
241c5f3
fix: correct test case
tuna1207 Jun 10, 2025
e1af728
Merge branch 'main' into feat/seedless-refresh-token
lwin-kyaw Jun 10, 2025
10d4300
Merge branch 'main' into feat/seedless-refresh-token
lwin-kyaw Jun 11, 2025
13595a7
Merge branch 'main' into feat/seedless-refresh-token
lwin-kyaw Jun 12, 2025
8662423
Merge branch 'main' into feat/seedless-refresh-token
lwin-kyaw Jun 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions packages/seedless-onboarding-controller/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- renamed `fetchAllSeedPhrases` method to `fetchAllSecretData` and updated the return value to `Record<SecretType, Uint8Array[]>`.
- added new error message, `MissingKeyringId` which will throw if no `keyringId` is provided during seed phrase (Mnemonic) backup.

### Changed

- Refresh and revoke token handling ([#5917](https://github.com/MetaMask/core/pull/5917))
- **BREAKING:** `authenticate` need extra `refreshToken` and `revokeToken` params, persist refresh token in state and store revoke token temporarily for user in next step
- `createToprfKeyAndBackupSeedPhrase`, `fetchAllSecretData` store revoke token in vault
- check for token expired in toprf call, refresh token and retry if expired
- `submitPassword` revoke refresh token and replace with new one after password submit to prevent malicious use if refresh token leak in persisted state

## [1.0.0]

### Added
Expand Down
Loading
Loading