2017-02-11 61 views
6

Mam formularza przy użyciu nodemailer, xoauth2 z google api OAuth2, zaktualizowałem hasło zeszłym tygodniu i od tego czasu moja aplikacja nie działa i pojawia się:Google OAuth 2.0 API zmiana hasła użytkownika i hasło nie zostały zaakceptowane

"535-5.7.8 Nazwa użytkownika i hasło nie zostały zaakceptowane. Dowiedz się więcej na \ n535 5.7.8

Próbowałem usunąć aplikację i utworzyć nową, ale nie wydaje się, aby odebrać nowe zmienione hasło. Wszelkie sugestie, jak to naprawić? Dopuściłem mniej bezpieczne aplikacje i odblokowuję captcha.

Odpowiedz

16

@sambellerose poszedłem z

const generator = xoauth2.createXOAuth2Generator({ 
    user: serverConfig.gmail.client_user, 
    clientId: serverConfig.gmail.client_id, 
    clientSecret: serverConfig.gmail.secret, 
    refreshToken: serverConfig.gmail.refresh_token, 
    accessToken: serverConfig.gmail.access_token, 
}); 


const transporter = nodemailer.createTransport({ 
    service: 'gmail', 
    auth: { 
    xoauth2: generator, 
    }, 
}); 

po prostu o następującym:

const transporter = nodemailer.createTransport({ 
    service: 'gmail', 
    auth: { 
    type: 'OAuth2', 
    user: serverConfig.gmail.client_user, 
    clientId: serverConfig.gmail.client_id, 
    clientSecret: serverConfig.gmail.secret, 
    refreshToken: serverConfig.gmail.refresh_token, 
    accessToken: serverConfig.gmail.access_token, 
    }, 
}); 

Mam nadzieję, że to pomoże

+1

Wielkie dzięki! Możesz zaakceptować własną odpowiedź, działa jak urok. –

+1

To działa idealnie! Wielkie dzięki! –

3

Rozwiązałem to, aktualizując do najnowszej wersji Nodemailera i usuwając moduł xoauth2, ponieważ Nodemailer 3 ma lepszą obsługę Oauth 2. Idąc na plac zabaw Google Oauth 2.0 mogę uzyskać poprawny dostęp i odświeżać tokeny.

+2

można wyświetlić dowolny kod za pomocą Nodemailer OAuth2? Mam ten sam błąd co ty. Dzięki ! –

+0

Jeśli tylko nie musiałaś zmieniać kodu za pomocą kodu dostępu, ponieważ odświeża się. – KeplerIO

+0

@KeplerIO Przechowuję kopalnię w pliku json i aktualizuję ją po zmianie –