matrix-react-sdk
Version:
SDK for matrix.org using React
41 lines (38 loc) • 5.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TokenRefresher = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _matrix = require("matrix-js-sdk/src/matrix");
var _PlatformPeg = _interopRequireDefault(require("../../PlatformPeg"));
var _tokens = require("../tokens/tokens");
/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/**
* OidcTokenRefresher that implements token persistence.
* Stores tokens in the same way as login flow in Lifecycle.
*/
class TokenRefresher extends _matrix.OidcTokenRefresher {
constructor(issuer, clientId, redirectUri, deviceId, idTokenClaims, userId) {
super(issuer, clientId, deviceId, redirectUri, idTokenClaims);
(0, _defineProperty2.default)(this, "deviceId", void 0);
this.userId = userId;
this.deviceId = deviceId;
}
async persistTokens({
accessToken,
refreshToken
}) {
const pickleKey = (await _PlatformPeg.default.get()?.getPickleKey(this.userId, this.deviceId)) ?? undefined;
await (0, _tokens.persistAccessTokenInStorage)(accessToken, pickleKey);
await (0, _tokens.persistRefreshTokenInStorage)(refreshToken, pickleKey);
}
}
exports.TokenRefresher = TokenRefresher;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWF0cml4IiwicmVxdWlyZSIsIl9QbGF0Zm9ybVBlZyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdG9rZW5zIiwiVG9rZW5SZWZyZXNoZXIiLCJPaWRjVG9rZW5SZWZyZXNoZXIiLCJjb25zdHJ1Y3RvciIsImlzc3VlciIsImNsaWVudElkIiwicmVkaXJlY3RVcmkiLCJkZXZpY2VJZCIsImlkVG9rZW5DbGFpbXMiLCJ1c2VySWQiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInBlcnNpc3RUb2tlbnMiLCJhY2Nlc3NUb2tlbiIsInJlZnJlc2hUb2tlbiIsInBpY2tsZUtleSIsIlBsYXRmb3JtUGVnIiwiZ2V0IiwiZ2V0UGlja2xlS2V5IiwidW5kZWZpbmVkIiwicGVyc2lzdEFjY2Vzc1Rva2VuSW5TdG9yYWdlIiwicGVyc2lzdFJlZnJlc2hUb2tlbkluU3RvcmFnZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvb2lkYy9Ub2tlblJlZnJlc2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBPaWRjVG9rZW5SZWZyZXNoZXIsIEFjY2Vzc1Rva2VucyB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcbmltcG9ydCB7IElkVG9rZW5DbGFpbXMgfSBmcm9tIFwib2lkYy1jbGllbnQtdHNcIjtcblxuaW1wb3J0IFBsYXRmb3JtUGVnIGZyb20gXCIuLi8uLi9QbGF0Zm9ybVBlZ1wiO1xuaW1wb3J0IHsgcGVyc2lzdEFjY2Vzc1Rva2VuSW5TdG9yYWdlLCBwZXJzaXN0UmVmcmVzaFRva2VuSW5TdG9yYWdlIH0gZnJvbSBcIi4uL3Rva2Vucy90b2tlbnNcIjtcblxuLyoqXG4gKiBPaWRjVG9rZW5SZWZyZXNoZXIgdGhhdCBpbXBsZW1lbnRzIHRva2VuIHBlcnNpc3RlbmNlLlxuICogU3RvcmVzIHRva2VucyBpbiB0aGUgc2FtZSB3YXkgYXMgbG9naW4gZmxvdyBpbiBMaWZlY3ljbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBUb2tlblJlZnJlc2hlciBleHRlbmRzIE9pZGNUb2tlblJlZnJlc2hlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VJZCE6IHN0cmluZztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgaXNzdWVyOiBzdHJpbmcsXG4gICAgICAgIGNsaWVudElkOiBzdHJpbmcsXG4gICAgICAgIHJlZGlyZWN0VXJpOiBzdHJpbmcsXG4gICAgICAgIGRldmljZUlkOiBzdHJpbmcsXG4gICAgICAgIGlkVG9rZW5DbGFpbXM6IElkVG9rZW5DbGFpbXMsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGlzc3VlciwgY2xpZW50SWQsIGRldmljZUlkLCByZWRpcmVjdFVyaSwgaWRUb2tlbkNsYWltcyk7XG4gICAgICAgIHRoaXMuZGV2aWNlSWQgPSBkZXZpY2VJZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcGVyc2lzdFRva2Vucyh7IGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4gfTogQWNjZXNzVG9rZW5zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHBpY2tsZUtleSA9IChhd2FpdCBQbGF0Zm9ybVBlZy5nZXQoKT8uZ2V0UGlja2xlS2V5KHRoaXMudXNlcklkLCB0aGlzLmRldmljZUlkKSkgPz8gdW5kZWZpbmVkO1xuICAgICAgICBhd2FpdCBwZXJzaXN0QWNjZXNzVG9rZW5JblN0b3JhZ2UoYWNjZXNzVG9rZW4sIHBpY2tsZUtleSk7XG4gICAgICAgIGF3YWl0IHBlcnNpc3RSZWZyZXNoVG9rZW5JblN0b3JhZ2UocmVmcmVzaFRva2VuLCBwaWNrbGVLZXkpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1JLGNBQWMsU0FBU0MsMEJBQWtCLENBQUM7RUFHNUNDLFdBQVdBLENBQ2RDLE1BQWMsRUFDZEMsUUFBZ0IsRUFDaEJDLFdBQW1CLEVBQ25CQyxRQUFnQixFQUNoQkMsYUFBNEIsRUFDWEMsTUFBYyxFQUNqQztJQUNFLEtBQUssQ0FBQ0wsTUFBTSxFQUFFQyxRQUFRLEVBQUVFLFFBQVEsRUFBRUQsV0FBVyxFQUFFRSxhQUFhLENBQUM7SUFBQyxJQUFBRSxnQkFBQSxDQUFBQyxPQUFBO0lBQUEsS0FGN0NGLE1BQWMsR0FBZEEsTUFBYztJQUcvQixJQUFJLENBQUNGLFFBQVEsR0FBR0EsUUFBUTtFQUM1QjtFQUVBLE1BQWFLLGFBQWFBLENBQUM7SUFBRUMsV0FBVztJQUFFQztFQUEyQixDQUFDLEVBQWlCO0lBQ25GLE1BQU1DLFNBQVMsR0FBRyxDQUFDLE1BQU1DLG9CQUFXLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUVDLFlBQVksQ0FBQyxJQUFJLENBQUNULE1BQU0sRUFBRSxJQUFJLENBQUNGLFFBQVEsQ0FBQyxLQUFLWSxTQUFTO0lBQ2xHLE1BQU0sSUFBQUMsbUNBQTJCLEVBQUNQLFdBQVcsRUFBRUUsU0FBUyxDQUFDO0lBQ3pELE1BQU0sSUFBQU0sb0NBQTRCLEVBQUNQLFlBQVksRUFBRUMsU0FBUyxDQUFDO0VBQy9EO0FBQ0o7QUFBQ08sT0FBQSxDQUFBckIsY0FBQSxHQUFBQSxjQUFBIiwiaWdub3JlTGlzdCI6W119