Convert secret storage key creation to object
This commit is contained in:
parent
690b5945d0
commit
24c09cc4c8
1 changed files with 6 additions and 22 deletions
|
@ -67,8 +67,6 @@ export default class CreateSecretStorageDialog extends React.PureComponent {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
this._keyInfo = null;
|
|
||||||
this._encodedRecoveryKey = null;
|
|
||||||
this._recoveryKey = null;
|
this._recoveryKey = null;
|
||||||
this._recoveryKeyNode = null;
|
this._recoveryKeyNode = null;
|
||||||
this._setZxcvbnResultTimeout = null;
|
this._setZxcvbnResultTimeout = null;
|
||||||
|
@ -181,7 +179,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
_onDownloadClick = () => {
|
_onDownloadClick = () => {
|
||||||
const blob = new Blob([this._encodedRecoveryKey], {
|
const blob = new Blob([this._recoveryKey.encodedPrivateKey], {
|
||||||
type: 'text/plain;charset=us-ascii',
|
type: 'text/plain;charset=us-ascii',
|
||||||
});
|
});
|
||||||
FileSaver.saveAs(blob, 'recovery-key.txt');
|
FileSaver.saveAs(blob, 'recovery-key.txt');
|
||||||
|
@ -235,22 +233,14 @@ export default class CreateSecretStorageDialog extends React.PureComponent {
|
||||||
if (force) {
|
if (force) {
|
||||||
await cli.bootstrapSecretStorage({
|
await cli.bootstrapSecretStorage({
|
||||||
authUploadDeviceSigningKeys: this._doBootstrapUIAuth,
|
authUploadDeviceSigningKeys: this._doBootstrapUIAuth,
|
||||||
createSecretStorageKey: async () => [
|
createSecretStorageKey: async () => this._recoveryKey,
|
||||||
this._keyInfo,
|
|
||||||
this._encodedRecoveryKey,
|
|
||||||
this._recoveryKey,
|
|
||||||
],
|
|
||||||
setupNewKeyBackup: true,
|
setupNewKeyBackup: true,
|
||||||
setupNewSecretStorage: true,
|
setupNewSecretStorage: true,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
await cli.bootstrapSecretStorage({
|
await cli.bootstrapSecretStorage({
|
||||||
authUploadDeviceSigningKeys: this._doBootstrapUIAuth,
|
authUploadDeviceSigningKeys: this._doBootstrapUIAuth,
|
||||||
createSecretStorageKey: async () => [
|
createSecretStorageKey: async () => this._recoveryKey,
|
||||||
this._keyInfo,
|
|
||||||
this._encodedRecoveryKey,
|
|
||||||
this._recoveryKey,
|
|
||||||
],
|
|
||||||
keyBackupInfo: this.state.backupInfo,
|
keyBackupInfo: this.state.backupInfo,
|
||||||
setupNewKeyBackup: !this.state.backupInfo && this.state.useKeyBackup,
|
setupNewKeyBackup: !this.state.backupInfo && this.state.useKeyBackup,
|
||||||
getKeyBackupPassphrase: promptForBackupPassphrase,
|
getKeyBackupPassphrase: promptForBackupPassphrase,
|
||||||
|
@ -308,11 +298,8 @@ export default class CreateSecretStorageDialog extends React.PureComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
_onSkipPassPhraseClick = async () => {
|
_onSkipPassPhraseClick = async () => {
|
||||||
const [keyInfo, encodedRecoveryKey, recoveryKey] =
|
this._recoveryKey =
|
||||||
await MatrixClientPeg.get().createRecoveryKeyFromPassphrase();
|
await MatrixClientPeg.get().createRecoveryKeyFromPassphrase();
|
||||||
this._keyInfo = keyInfo;
|
|
||||||
this._encodedRecoveryKey = encodedRecoveryKey;
|
|
||||||
this._recoveryKey = recoveryKey;
|
|
||||||
this.setState({
|
this.setState({
|
||||||
copied: false,
|
copied: false,
|
||||||
downloaded: false,
|
downloaded: false,
|
||||||
|
@ -345,11 +332,8 @@ export default class CreateSecretStorageDialog extends React.PureComponent {
|
||||||
|
|
||||||
if (this.state.passPhrase !== this.state.passPhraseConfirm) return;
|
if (this.state.passPhrase !== this.state.passPhraseConfirm) return;
|
||||||
|
|
||||||
const [keyInfo, encodedRecoveryKey, recoveryKey] =
|
this._recoveryKey =
|
||||||
await MatrixClientPeg.get().createRecoveryKeyFromPassphrase(this.state.passPhrase);
|
await MatrixClientPeg.get().createRecoveryKeyFromPassphrase(this.state.passPhrase);
|
||||||
this._keyInfo = keyInfo;
|
|
||||||
this._encodedRecoveryKey = encodedRecoveryKey;
|
|
||||||
this._recoveryKey = recoveryKey;
|
|
||||||
this.setState({
|
this.setState({
|
||||||
copied: false,
|
copied: false,
|
||||||
downloaded: false,
|
downloaded: false,
|
||||||
|
@ -624,7 +608,7 @@ export default class CreateSecretStorageDialog extends React.PureComponent {
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_CreateSecretStorageDialog_recoveryKeyContainer">
|
<div className="mx_CreateSecretStorageDialog_recoveryKeyContainer">
|
||||||
<div className="mx_CreateSecretStorageDialog_recoveryKey">
|
<div className="mx_CreateSecretStorageDialog_recoveryKey">
|
||||||
<code ref={this._collectRecoveryKeyNode}>{this._encodedRecoveryKey}</code>
|
<code ref={this._collectRecoveryKeyNode}>{this._recoveryKey.encodedPrivateKey}</code>
|
||||||
</div>
|
</div>
|
||||||
<div className="mx_CreateSecretStorageDialog_recoveryKeyButtons">
|
<div className="mx_CreateSecretStorageDialog_recoveryKeyButtons">
|
||||||
<AccessibleButton kind='primary' className="mx_Dialog_primary" onClick={this._onCopyClick}>
|
<AccessibleButton kind='primary' className="mx_Dialog_primary" onClick={this._onCopyClick}>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue