Vraag Google-verificatie met nodejs


Ik probeer de authenticatie-API van Google te bereiken met mijn node.js-server, maar ik kan gewoon niet vinden hoe. Kortom, ik wil dat de gebruiker op mijn aanmeldingspagina komt, op de authenticatieknop klikt, de server doorverwijst naar de Google API, de gebruiker laat mijn app toegang krijgen tot zijn gegevens en vervolgens leidt de Google API de gebruiker door naar mijn site met het autorisatiebewijs.

Ik heb de url ingesteld die vereist is door oauth2 en het lijkt te werken (als ik het in mijn webbrowser plak, wordt het doorgestuurd op de pagina voor google-autorisatie). ik zag deze post die mijn vraag leek te beantwoorden, maar ik weet niet hoe ik met het gedeelte met de uitdrukkelijke code moet omgaan.

Hier is de code die ik gebruik:

https.get(options, function(res) {
    var retrieved_data = '';
    res.on('data', function(data) { retrieved_data += data; });
    res.on('end', function() { 
        // FIXME
        client_response.writeHead(302, {"Content-Type" : "text/plain", "Location" : res.headers.location});
        client_response.end(retrieved_data);    
    });
});

Maar deze methode retourneert een fout op mijn clientpagina (opgeheven door het foutveld van mijn ajax-aanvraag). Als ik de HTTP-code verander in 200 zonder de "Locatie" -informatie, wordt op de client een "tijdelijk verplaatst" -pagina weergegeven met een knop die me doorstuurt naar de Google API-autorisatiepagina.

Enige suggestie ?


21
2018-04-11 03:19


oorsprong


antwoorden:


Ik zou willen voorstellen om bestaande modules voor die taak te gebruiken. everyauth is een module die niet alleen oauth2-toegang tot Google toestaat, maar ook voor de meeste andere platformen die het aanbieden. Ik gebruik dit voor twittertoegang op mijn projecten. Het heeft express integratie ook.

U kunt naar meer alternatieven zoeken op De Knooppunt-toolbox. Paspoort komt voor de geest.


9
2018-04-12 12:50



Zoals Burcu Dogan aangeeft, heeft Google een officiële klantenbibliotheek uitgegeven voor toegang tot Google API's. Het is hier te vinden: https://github.com/google/google-api-nodejs-client/


9
2018-01-03 14:18



Ik heb goede resultaten behaald met Paspoort (niet gerelateerd aan het MS-authenticatieschema!). Ik probeerde het aanvankelijk elke keer, maar het IMO-paspoort past beter bij expressjs-conventies.

Er is een Google-auth-provider klaar voor gebruik: http://passportjs.org/guide/google/


8
2018-02-01 10:37



Misschien wil je hier mijn Node.JS + Google Calendar-project uitchecken: https://github.com/berryboy/google-calendar

Ik heb ook een paar voorbeelden van het gebruik van google oauth.


3
2017-11-23 05:25