Skip to main content

Zerodha Login Automation - Selenium Based

Project description

Zerodha Login Automated - Selenium Based; Supported by Lambda function that processes the redirect rul and stores accessk key to DynamoDB

Context

This code is for a python package for automated login to Zerodha. The redirect URL is not handled here - Separate Repo with a container that runs as a lambda function saves the access token to dynamoDB

How to productionalize

  • Get Zerodha (kite.trade) account for API based access to the platform.

  • Create a '.zerodha' file in your home directory (Sample provided - check .zerodha.sample file)

    • Needed Variables in File are Zerodha API keys/secret and login credentials (Userid, Password, PIN)
    • One additional variable defined - ZAPI_AUTH: This can be any string that you choose. This string gets added as a query parameter in Zerodha reddirect response. The redirect response handler can test this 'api_auth' query parameter to ensure the response is from zerodha and is in response to call from this package

    The url for logging in being used is - f'https://kite.trade/connect/login?v=3&api_key={api_key}&redirect_params={quote_plus(f"api_auth={api_auth}")}' which sends the ZAPI_AUTH parameter as redirect query parameter 'api_auth'

  • Set up a dynamodb table "save_access" with partition key as 'date' (string variable) and sort key as 'datetime' (also a string)

  • Check out the zerodha-dynamodb-save-accesstoken repository to set up a lambda function to handle Zerodha redirect url (it saves the access token in the save_access table in dynamodb)

  • Install zlogin package from pypi, "pip install zlogin"

import zlogin
access_token = zlogin.fetch_access_token()
When logging in - send this as a redirect parameter 'api_auth'. For this, your Zerodha login URL will be
f'https://kite.trade/connect/login?v=3&api_key={api_key}&redirect_params={quote_plus(f"api_auth={api_auth}")}'

This repo is a sister repo with zerodha-dynamodb-save-accesstoken tool which has a container code for lambda function that handles storage of access token to dynamodb;

That tool creates the redirect to the API gateway. For both to work properly, please use the same ZAPI_AUTH environment variable value in both places

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zlogin-0.0.4.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

zlogin-0.0.4-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page