handle credential confirmation from EditAccountView

This commit is contained in:
or-else
2019-06-12 11:03:21 -07:00
parent 821ab6a16f
commit 9a310a0438
6 changed files with 75 additions and 49 deletions
+1 -1
View File
@@ -168,7 +168,7 @@ export default class EditAccountView extends React.Component {
this.state.credentials.map((cred) => { this.state.credentials.map((cred) => {
credentials.push(<div key={cred.meth + ":" + cred.val}>{cred.meth}: <tt>{cred.val}</tt> credentials.push(<div key={cred.meth + ":" + cred.val}>{cred.meth}: <tt>{cred.val}</tt>
<span > {!cred.done ? <span > {!cred.done ?
<a href="javascript:;" className="clickable" <a href="javascript:;"
onClick={this.props.onCredConfirm.bind(this, cred.meth, cred.val)}> onClick={this.props.onCredConfirm.bind(this, cred.meth, cred.val)}>
<FormattedMessage id="validate_credential_action" defaultMessage="confirm" <FormattedMessage id="validate_credential_action" defaultMessage="confirm"
description="Validate credentail call to action" /> description="Validate credentail call to action" />
+13 -2
View File
@@ -954,7 +954,7 @@ class TinodeWeb extends React.Component {
} }
handleCredConfirm(method, response) { handleCredConfirm(method, response) {
handleCredentialsRequest({cred: [method]}); this.handleCredentialsRequest({cred: [method]});
} }
// User clicked Cancel button in Setting or Sign Up panel. // User clicked Cancel button in Setting or Sign Up panel.
@@ -1187,15 +1187,26 @@ class TinodeWeb extends React.Component {
} }
handleValidateCredentialsRequest(cred, code) { handleValidateCredentialsRequest(cred, code) {
if (this.tinode.isAuthenticated()) {
const me = this.tinode.getMeTopic();
me.setMeta({cred: {meth: cred, resp: code}})
.then(() => {
HashNavigation.navigateTo('');
})
.catch((err) => {
this.handleError(err.message, 'err');
});
} else {
this.setState({credMethod: cred, credCode: code}); this.setState({credMethod: cred, credCode: code});
this.doLogin(null, null, {meth: cred, resp: code}); this.doLogin(null, null, {meth: cred, resp: code});
} }
}
handlePasswordResetRequest(method, value) { handlePasswordResetRequest(method, value) {
// If already connected, connnect() will return a resolved promise. // If already connected, connnect() will return a resolved promise.
this.tinode.connect() this.tinode.connect()
.then(() => { .then(() => {
return this.tinode.requestResetAuthSecret('basic', method, value) return this.tinode.requestResetAuthSecret('basic', method, value);
}) })
.catch((err) => { .catch((err) => {
// Socket error // Socket error
+48 -33
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long