1.1.7 • Published 9 years ago

google-auto-oauth2 v1.1.7

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

google-auto-oauth2

Automatically get google oauth2 token by given username, password, clientID, clientSecret.

npm i google-auto-oauth2 --save

ex.

const google = require('googleapis')
const OAuth2 = google.auth.OAuth2
const googleAutoOauth2 = require('google-auto-oauth2')

const CLIENT_ID = 'xxxxxx.apps.googleusercontent.com'
const CLIENT_SECRET = 'xxxxxx'
const REDIRECT_URL = 'urn:ietf:wg:oauth:2.0:oob'

var params = {
	email: 'xxx@gmail.com',
	password: 'xxxxxx'
}

var scopes = [
  'https://picasaweb.google.com/data/'
]

var url = oauth2Client.generateAuthUrl({
  access_type: 'offline', // 'online' (default) or 'offline' (gets refresh_token)
  scope: scopes // If you only need one scope you can pass it as string
})

googleAutoOauth2.options = { //nightmare options
	show: true,
	webPreferences:{
		partition: 'nopersist',
	}
}

googleAutoOauth2.getCode(url, params, 20000).then(data => {
	oauth2Client.getToken(data.code, function(err, tokens) {
	  if(!err) {
	    console.log(tokens);
	  }
	})
}).catch((error) => console.log(error))

Some times you may meet a challenge where google asks you for phone number and reset the password. Be careful, this will reset your password.

const google = require('googleapis')
const OAuth2 = google.auth.OAuth2
const googleAutoOauth2 = require('../')
const randomstring = require("randomstring")

const CLIENT_ID = 'xxxxxx.apps.googleusercontent.com'
const CLIENT_SECRET = 'xxxxxx'
const REDIRECT_URL = 'urn:ietf:wg:oauth:2.0:oob'

var oauth2Client = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL)

var scopes = [
  'https://picasaweb.google.com/data/'
]

var url = oauth2Client.generateAuthUrl({
  access_type: 'offline', // 'online' (default) or 'offline' (gets refresh_token)
  scope: scopes // If you only need one scope you can pass it as string
})

var params = {
	email: 'xxxx@gmail.com',
	password: 'xxxx',
	challenge: {
		phoneNumber: '17028141496',
		password: randomstring.generate(), //reset password to a random string
	},
	debug: true
}

googleAutoOauth2.options = {
	show: true,
	webPreferences:{
		partition: 'nopersist',
	}
}
	
googleAutoOauth2.getCode(url, params, 20000).then(data => {
	console.log(data.code)
	console.log(data.password) // output the new password.
	oauth2Client.getToken(code, function(err, tokens) {
	  if(!err) {
	    console.log(tokens);
	  }
	})
}).catch((error) => console.log(error))
1.1.7

9 years ago

1.1.6

9 years ago

1.1.5

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago