Ich möchte einen stateless Knoten api mit pass.js für die Authentifizierung schreiben.Passport.js statusless/sessionless google auth
Ich möchte einen OAuth Google API-Endpunkt erstellen, der den API-Schlüssel bei Erfolg und anderen Details zum Erfolg zurückgibt.
Google API Route
router.get('/',passport.authenticate('google', { scope : ['profile', 'email']}));
router.get('/callback', function(req, res, next) {
passport.authenticate('google', { session: false, failureRedirect: '/#/login'}, function(err, user, info) {
console.log('------------------in google callback-----------------');
if (err) res.status(500).json({status_code: 500, message: "Authentication error", data : err});
if (!user) {
res.status(404).json({status_code: 404, message : "User not found/created"});
}
var token = 'JWT KEY TO USE AS API TOKEN';
res.status(200).json({status_code: 200, message : "Success", data : {token : token, user:user }});
})(req, res, next);
});
Wenn ich in Browser auf erfolgreiche Authentifizierung meinen api Endpunkt öffne die Json Antwort wird nur auf dem Bildschirm ausgegeben und ich habe keine Möglichkeit, das gleiche in einer Variablen zu erfassen. Der Aufruf desselben api-Endpunkts über Ajax funktioniert nicht.
This is how i recieve the json response
Wie erstelle ich einen api Endpunkt Google Login, die ohne Sitzungen funktioniert und gibt ein Token?
Wie kann ich dies über Ajax ausführen? Gibt es eine Möglichkeit, diesen API-Endpunkt aufzurufen und die Antwort in einem Erfolgsrückruf zu erhalten?