riot-web/test
Kerry 84ca519b3f
OIDC: revoke tokens on logout (#11718)
* test persistCredentials without a pickle key

* test setLoggedIn with pickle key

* lint

* type error

* extract token persisting code into function, persist refresh token

* store has_refresh_token too

* pass refreshToken from oidcAuthGrant into credentials

* rest restore session with pickle key

* retreive stored refresh token and add to credentials

* extract token decryption into function

* remove TODO

* very messy poc

* utils to persist clientId and issuer after oidc authentication

* add dep oidc-client-ts

* persist issuer and clientId after successful oidc auth

* add OidcClientStore

* comments and tidy

* expose getters for stored refresh and access tokens in Lifecycle

* revoke tokens with oidc provider

* test logout action in MatrixChat

* comments

* prettier

* test OidcClientStore.revokeTokens

* put pickle key destruction back

* comment pedantry

* working refresh without persistence

* extract token persistence functions to utils

* add sugar

* implement TokenRefresher class with persistence

* tidying

* persist idTokenClaims

* persist idTokenClaims

* tests

* remove unused cde

* create token refresher during doSetLoggedIn

* tidying

* also tidying

* OidcClientStore.initClient use stored issuer when client well known unavailable

* test Lifecycle.logout

* update Lifecycle test replaceUsingCreds calls

* fix test

* tidy

* test tokenrefresher creation in login flow

* test token refresher

* Update src/utils/oidc/TokenRefresher.ts

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* use literal value for m.authentication

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* improve comments

* fix test mock, comment

* typo

* add sdkContext to SoftLogout, pass oidcClientStore to logout

* fullstops

* comments

* fussy comment formatting

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-10-15 21:35:25 +00:00
..
@types
__snapshots__
accessibility
actions/handlers
audio
autocomplete
components Show `io.element.late_event` in MessageTimestamp when known (#11733) 2023-10-14 12:25:36 +00:00
contexts
dispatcher
editor
events
hooks
i18n
images
img
models
modules
notifications
settings
setup
stores OIDC: revoke tokens on logout (#11718) 2023-10-15 21:35:25 +00:00
test-utils
toasts
utils
voice-broadcast
widgets
Avatar-test.ts
ContentMessages-test.ts
DecryptionFailureTracker-test.js
DeviceListener-test.ts
HtmlUtils-test.tsx
Image-test.ts
KeyBindingsManager-test.ts
LegacyCallHandler-test.ts
Lifecycle-test.ts OIDC: revoke tokens on logout (#11718) 2023-10-15 21:35:25 +00:00
Markdown-test.ts
MatrixClientPeg-test.ts
MediaDeviceHandler-test.ts
Notifier-test.ts
PosthogAnalytics-test.ts
PreferredRoomVersions-test.ts
Reply-test.ts
RoomNotifs-test.ts
Rooms-test.ts
ScalarAuthClient-test.ts
SdkConfig-test.ts
SlashCommands-test.tsx
SlidingSyncManager-test.ts
Terms-test.tsx
TestSdkContext.ts
TextForEvent-test.ts
Unread-test.ts
UserActivity-test.ts
WorkerManager-test.ts
createRoom-test.ts
email-test.ts
globalSetup.ts
languageHandler-test.tsx
linkify-matrix-test.ts
predictableRandom.ts
setupTests.ts
slowReporter.js
theme-test.ts
useTopic-test.tsx