Skip to content
This repository has been archived by the owner on Nov 3, 2019. It is now read-only.
/ google-token Public archive

Google User Account Token Generator

License

Notifications You must be signed in to change notification settings

scottphilip/google-token

Repository files navigation

https://travis-ci.org/scottphilip/google-token.svg?branch=master

Google Token

Python Package allowing Google Account Authorization Tokens to be issued when user is not in attendance.

Installation Instructions

pip install GoogleToken

Properties

When manually logging into a Google Account secured web application, the initial URL will be in the format;

https://accounts.google.com/o/oauth2/v2/auth?response_type=token&client_id=0000000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com&redirect_uri=https://www.website.com/google/callback&scope=https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile
Property Example
Client Id 0000000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleuser content.com
Redirect Uri https://www.website.com/google/callback
Scope https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile

Usage Instructions

First time login will create a Cookies file which stores the issued tokens which will subsequently be reused. It is recommended not to the password or the OTP secret in configuration. Once the cookies file is created the credentials are not required.

from GoogleToken import GoogleTokenGenerator, GoogleTokenParameters
parameters = GoogleTokenParameters(oauth_client_id="0000000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
                          oauth_redirect_uri="https://www.website.com/google/callback",
                          oauth_scope="https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile",
                          account_email="user@gmail.com",
                          account_password="password",
                          account_otp_secret="secret")
generator = GoogleTokenGenerator(parameters)
token = generator.generate()
print(token)

Once the cookies file is created, the credentials can be omitted.

from GoogleToken import get_google_token
token, expiry = get_google_token(account_email="account@gmail.com",
                                 account_password="password",
                                 account_otp_secret="secret",
                                 oauth_client_id="0000000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
                                 oauth_redirect_uri="https://www.website.com/google/callback",
                                 oauth_scope="https://www.googleapis.com/auth/userinfo.profile")

Dependencies

Selenium

Pyotp

Credits

Scott Philip

Berlin, Germany

Licence

GNU General Public License (Version 3, 29 June 2007)

CallerLookup Copyright © 2017 Scott Philip