diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-11-21 16:17:40 -0600 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-11-21 16:17:40 -0600 |
commit | b2dba9a15b0b27c9221808ff037090c2b4c2d500 (patch) | |
tree | 66cafb354e0863879023de55ca8a7e472708f465 | |
parent | ed146a582c140b9a472298390dafbc07bd06cf60 (diff) | |
download | voidsky-b2dba9a15b0b27c9221808ff037090c2b4c2d500.tar.zst |
Track rotated auth tokens
-rw-r--r-- | src/state/index.ts | 2 | ||||
-rw-r--r-- | src/state/models/session.ts | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/state/index.ts b/src/state/index.ts index fd81bc842..7bb757757 100644 --- a/src/state/index.ts +++ b/src/state/index.ts @@ -34,6 +34,8 @@ export async function setupState() { if (!api.sessionManager.session && rootStore.session.isAuthed) { // reset session rootStore.session.clear() + } else if (api.sessionManager.session) { + rootStore.session.updateAuthTokens(api.sessionManager.session) } }) diff --git a/src/state/models/session.ts b/src/state/models/session.ts index e10a08e86..0f1faeaba 100644 --- a/src/state/models/session.ts +++ b/src/state/models/session.ts @@ -1,6 +1,9 @@ import {makeAutoObservable} from 'mobx' import {sessionClient as AtpApi} from '../../third-party/api/index' -import type {SessionServiceClient} from '../../third-party/api/src/index' +import type { + SessionServiceClient, + Session, +} from '../../third-party/api/src/index' import type * as GetAccountsConfig from '../../third-party/api/src/client/types/com/atproto/server/getAccountsConfig' import {isObj, hasProp} from '../lib/type-guards' import {RootStoreModel} from './root-store' @@ -88,6 +91,16 @@ export class SessionModel { this.data = data } + updateAuthTokens(session: Session) { + if (this.data) { + this.setState({ + ...this.data, + accessJwt: session.accessJwt, + refreshJwt: session.refreshJwt, + }) + } + } + private configureApi(): boolean { if (!this.data) { return false |