Closed
Description
What I get:
this.app.get("/auth_callback", function(request, response) {
var code = request.query.code;
var resolver = obj => Promise(resolve => resolve(obj));
var tokenBackup;
var token = Authentication
.getToken(request.query.code)
.then(token => (tokenBackup = token, token),
PromiseErrorHandler(`Failed to get token from server. Please try to login again <a href="/">here</a>.`))
.then(Authentication.getUser)
.then(user => Authentication.applyUser(request, response, user.DisplayName, user.EmailAddress),
PromiseErrorHandler(`Failed to get user data from server. Please try to login again <a href="/">here</a>.`))
.then(success => {
if(success) response.redirect("/");
else return Promise((resolve, reject) => reject(null))
})
.catch(PromiseErrorHandler(`Your account is not a valid Sing Yin email account. Please <a href="/">login again</a>.`))
.catch(error => {
let message: string = `Unexpected error. Please <a href="/">login again</a>.`;
if(error instanceof PromiseError) message = <string>error.message;
ErrorDisplay.show(request, response, message);
})
.done();
});
What I expect:
this.app.get("/auth_callback", function(request, response) {
var code = request.query.code;
var resolver = obj => Promise(resolve => resolve(obj));
var tokenBackup;
var token = Authentication
.getToken(request.query.code)
.then(token => (tokenBackup = token, token),
PromiseErrorHandler(`Failed to get token from server. Please try to login again <a href="/">here</a>.`))
.then(Authentication.getUser)
.then(user => Authentication.applyUser(request, response, user.DisplayName, user.EmailAddress),
PromiseErrorHandler(`Failed to get user data from server. Please try to login again <a href="/">here</a>.`))
.then(success => {
if(success) response.redirect("/");
else return Promise((resolve, reject) => reject(null))
})
.catch(PromiseErrorHandler(`Your account is not a valid Sing Yin email account. Please <a href="/">login again</a>.`))
.catch(error => {
let message: string = `Unexpected error. Please <a href="/">login again</a>.`;
if(error instanceof PromiseError) message = <string>error.message;
ErrorDisplay.show(request, response, message);
})
.done();
});
Metadata
Metadata
Assignees
Labels
No labels