diff --git a/lib/strategy.js b/lib/strategy.js index ca6fde7..20ada76 100644 --- a/lib/strategy.js +++ b/lib/strategy.js @@ -46,7 +46,14 @@ PasswordGrantStrategy.prototype.authenticate = function(req, options) { this._oauth2.getOAuthAccessToken(null, params, function(err, accessToken, refreshToken, params) { - if (err) { return self.error(self._createOAuthError('Failed to obtain access token', err)); } + if (err) { + var oauthError = self._createOAuthError('Failed to obtain access token', err) + if (oauthError.name == 'AuthorizationError' && oauthError.code == 'invalid_grant') { + return self.fail(oauthError) + } else { + return self.error(oauthError) + } + } self._loadUserProfile(accessToken, function(err, profile) { if (err) { return self.error(err); }