Poll for authentication completion
on registration (both for email validation and completion of the whole auth session).
This commit is contained in:
parent
76b381b849
commit
454aa0757a
3 changed files with 17 additions and 0 deletions
|
@ -57,6 +57,10 @@ export default React.createClass({
|
|||
sessionId: React.PropTypes.string,
|
||||
clientSecret: React.PropTypes.string,
|
||||
emailSid: React.PropTypes.string,
|
||||
|
||||
// If true, poll to see if the auth flow has been completed
|
||||
// out-of-band
|
||||
poll: React.PropTypes.bool,
|
||||
},
|
||||
|
||||
getInitialState: function() {
|
||||
|
@ -97,10 +101,21 @@ export default React.createClass({
|
|||
errorText: msg
|
||||
});
|
||||
}).done();
|
||||
|
||||
this._intervalId = null;
|
||||
if (this.props.poll) {
|
||||
this._intervalId = setInterval(() => {
|
||||
this._authLogic.poll();
|
||||
}, 2000);
|
||||
}
|
||||
},
|
||||
|
||||
componentWillUnmount: function() {
|
||||
this._unmounted = true;
|
||||
|
||||
if (this._intervalId !== null) {
|
||||
clearInterval(this._intervalId);
|
||||
}
|
||||
},
|
||||
|
||||
_authStateUpdated: function(stageType, stageState) {
|
||||
|
|
|
@ -311,6 +311,7 @@ module.exports = React.createClass({
|
|||
sessionId={this.props.sessionId}
|
||||
clientSecret={this.props.clientSecret}
|
||||
emailSid={this.props.idSid}
|
||||
poll={true}
|
||||
/>
|
||||
);
|
||||
} else if (this.state.busy || this.state.teamServerBusy) {
|
||||
|
|
|
@ -184,6 +184,7 @@ export const EmailIdentityAuthEntry = React.createClass({
|
|||
errorText: React.PropTypes.string,
|
||||
authSessionId: React.PropTypes.string.isRequired,
|
||||
inputs: React.PropTypes.object.isRequired,
|
||||
stageState: React.PropTypes.object.isRequired,
|
||||
},
|
||||
|
||||
render: function() {
|
||||
|
|
Loading…
Reference in a new issue