matrix-react-sdk
Version:
SDK for matrix.org using React
61 lines (58 loc) • 11.2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.OidcLogoutDialog = void 0;
var _react = _interopRequireWildcard(require("react"));
var _languageHandler = require("../../../../languageHandler");
var _BaseDialog = _interopRequireDefault(require("../BaseDialog"));
var _getOidcLogoutUrl = require("../../../../utils/oidc/getOidcLogoutUrl");
var _AccessibleButton = _interopRequireDefault(require("../../elements/AccessibleButton"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/*
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.
*/
/**
* Handle logout of OIDC sessions other than the current session
* - ask for user confirmation to open the delegated auth provider
* - open the auth provider in a new tab
* - wait for the user to return and close the modal, we assume the user has completed sign out of the session in auth provider UI
* and trigger a refresh of the session list
*/
const OidcLogoutDialog = ({
delegatedAuthAccountUrl,
deviceId,
onFinished
}) => {
const [hasOpenedLogoutLink, setHasOpenedLogoutLink] = (0, _react.useState)(false);
const logoutUrl = (0, _getOidcLogoutUrl.getOidcLogoutUrl)(delegatedAuthAccountUrl, deviceId);
return /*#__PURE__*/_react.default.createElement(_BaseDialog.default, {
onFinished: onFinished,
title: (0, _languageHandler._t)("action|sign_out"),
contentId: "mx_Dialog_content"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_Dialog_content",
id: "mx_Dialog_content"
}, (0, _languageHandler._t)("auth|oidc|logout_redirect_warning")), /*#__PURE__*/_react.default.createElement("div", {
className: "mx_Dialog_buttons"
}, hasOpenedLogoutLink ? /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, {
kind: "primary",
onClick: () => onFinished(true)
}, (0, _languageHandler._t)("action|close")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, {
kind: "secondary",
onClick: () => onFinished(false)
}, (0, _languageHandler._t)("action|cancel")), /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, {
element: "a",
onClick: () => setHasOpenedLogoutLink(true),
kind: "primary",
href: logoutUrl,
target: "_blank"
}, (0, _languageHandler._t)("action|continue")))));
};
exports.OidcLogoutDialog = OidcLogoutDialog;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX0Jhc2VEaWFsb2ciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldE9pZGNMb2dvdXRVcmwiLCJfQWNjZXNzaWJsZUJ1dHRvbiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIk9pZGNMb2dvdXREaWFsb2ciLCJkZWxlZ2F0ZWRBdXRoQWNjb3VudFVybCIsImRldmljZUlkIiwib25GaW5pc2hlZCIsImhhc09wZW5lZExvZ291dExpbmsiLCJzZXRIYXNPcGVuZWRMb2dvdXRMaW5rIiwidXNlU3RhdGUiLCJsb2dvdXRVcmwiLCJnZXRPaWRjTG9nb3V0VXJsIiwiY3JlYXRlRWxlbWVudCIsInRpdGxlIiwiX3QiLCJjb250ZW50SWQiLCJjbGFzc05hbWUiLCJpZCIsImtpbmQiLCJvbkNsaWNrIiwiRnJhZ21lbnQiLCJlbGVtZW50IiwiaHJlZiIsInRhcmdldCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL29pZGMvT2lkY0xvZ291dERpYWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uLy4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IEJhc2VEaWFsb2cgZnJvbSBcIi4uL0Jhc2VEaWFsb2dcIjtcbmltcG9ydCB7IGdldE9pZGNMb2dvdXRVcmwgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvb2lkYy9nZXRPaWRjTG9nb3V0VXJsXCI7XG5pbXBvcnQgQWNjZXNzaWJsZUJ1dHRvbiBmcm9tIFwiLi4vLi4vZWxlbWVudHMvQWNjZXNzaWJsZUJ1dHRvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9pZGNMb2dvdXREaWFsb2dQcm9wcyB7XG4gICAgZGVsZWdhdGVkQXV0aEFjY291bnRVcmw6IHN0cmluZztcbiAgICBkZXZpY2VJZDogc3RyaW5nO1xuICAgIG9uRmluaXNoZWQob2s/OiBib29sZWFuKTogdm9pZDtcbn1cblxuLyoqXG4gKiBIYW5kbGUgbG9nb3V0IG9mIE9JREMgc2Vzc2lvbnMgb3RoZXIgdGhhbiB0aGUgY3VycmVudCBzZXNzaW9uXG4gKiAtIGFzayBmb3IgdXNlciBjb25maXJtYXRpb24gdG8gb3BlbiB0aGUgZGVsZWdhdGVkIGF1dGggcHJvdmlkZXJcbiAqIC0gb3BlbiB0aGUgYXV0aCBwcm92aWRlciBpbiBhIG5ldyB0YWJcbiAqIC0gd2FpdCBmb3IgdGhlIHVzZXIgdG8gcmV0dXJuIGFuZCBjbG9zZSB0aGUgbW9kYWwsIHdlIGFzc3VtZSB0aGUgdXNlciBoYXMgY29tcGxldGVkIHNpZ24gb3V0IG9mIHRoZSBzZXNzaW9uIGluIGF1dGggcHJvdmlkZXIgVUlcbiAqICAgICAgICBhbmQgdHJpZ2dlciBhIHJlZnJlc2ggb2YgdGhlIHNlc3Npb24gbGlzdFxuICovXG5leHBvcnQgY29uc3QgT2lkY0xvZ291dERpYWxvZzogUmVhY3QuRkM8T2lkY0xvZ291dERpYWxvZ1Byb3BzPiA9ICh7XG4gICAgZGVsZWdhdGVkQXV0aEFjY291bnRVcmwsXG4gICAgZGV2aWNlSWQsXG4gICAgb25GaW5pc2hlZCxcbn0pID0+IHtcbiAgICBjb25zdCBbaGFzT3BlbmVkTG9nb3V0TGluaywgc2V0SGFzT3BlbmVkTG9nb3V0TGlua10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgbG9nb3V0VXJsID0gZ2V0T2lkY0xvZ291dFVybChkZWxlZ2F0ZWRBdXRoQWNjb3VudFVybCwgZGV2aWNlSWQpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEJhc2VEaWFsb2cgb25GaW5pc2hlZD17b25GaW5pc2hlZH0gdGl0bGU9e190KFwiYWN0aW9ufHNpZ25fb3V0XCIpfSBjb250ZW50SWQ9XCJteF9EaWFsb2dfY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9EaWFsb2dfY29udGVudFwiIGlkPVwibXhfRGlhbG9nX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICB7X3QoXCJhdXRofG9pZGN8bG9nb3V0X3JlZGlyZWN0X3dhcm5pbmdcIil9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfRGlhbG9nX2J1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICB7aGFzT3BlbmVkTG9nb3V0TGluayA/IChcbiAgICAgICAgICAgICAgICAgICAgPEFjY2Vzc2libGVCdXR0b24ga2luZD1cInByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiBvbkZpbmlzaGVkKHRydWUpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtfdChcImFjdGlvbnxjbG9zZVwiKX1cbiAgICAgICAgICAgICAgICAgICAgPC9BY2Nlc3NpYmxlQnV0dG9uPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvbiBraW5kPVwic2Vjb25kYXJ5XCIgb25DbGljaz17KCkgPT4gb25GaW5pc2hlZChmYWxzZSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtfdChcImFjdGlvbnxjYW5jZWxcIil9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0FjY2Vzc2libGVCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ9XCJhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRIYXNPcGVuZWRMb2dvdXRMaW5rKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtsb2dvdXRVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7X3QoXCJhY3Rpb258Y29udGludWVcIil9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0FjY2Vzc2libGVCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9CYXNlRGlhbG9nPlxuICAgICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQStELFNBQUFNLHlCQUFBQyxDQUFB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