Skip to content

Telefonica/latch-sdk-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LATCH PYTHON SDK

#### PREREQUISITES ####

  • Python.

  • Read API documentation (https://latch.tu.com/www/developers/doc_api).

  • To get the "Application ID" and "Secret", (fundamental values for integrating Latch in any application), it’s necessary to register a developer account in Latch's website: https://latch.tu.com. On the upper right side, click on "Developer area"

USING THE SDK IN PYTHON

  • Install "latch-sdk-telefonica"
	pip install latch-sdk-telefonica
  • Import "latch" module.
	import latch
  • Create a Latch object with the "Application ID" and "Secret" previously obtained.
	api = latch.Latch("APP_ID_HERE", "SECRET_KEY_HERE")
  • Optional settings:
	latch.Latch.set_proxy("PROXY_HOST_HERE", port)
  • Call to Latch Server. Pairing will return an account id that you should store for future api calls
	response = api.pair("PAIRING_CODE_HERE")
	response = api.status("ACCOUNT_ID_HERE")
	response = api.unpair("ACCOUNT_ID_HERE")
  • After every API call, get Latch response data and errors and handle them.
	responseData = response.get_data()
	responseError = response.get_error()

USING PYTHON SDK FOR WEB3 SERVICES

For using the Python SDK within an Web3 service, you must complain with the following:

  • It is necessary to have a developer subscription that allows you to create web3 apps.
  • You need metamask extension for Google Chrome Download metamask
  • You need a wallet to operate on Polygon. You can easily create one through Metamask.

Creation of a WEB3 Latch app

Once you have your developer Latch account created, you must logging in the website.

Steps to add new web3 app in latch-website

We add a new method to pair the web3 applications, now we have two new parameters. The two additional parameters are:

  • WEB3WALLET: The Ethereum-based address wallet for the user that wants to pair the service.
  • WEB3SIGNATURE: A proof-of-ownership signature of a constant, in order to verify that the user owns the private key of the wallet. You can use https://etherscan.io/verifiedSignatures# to sign the following message:
    • MESSAGE TO SIGN : "Latch-Web3"
  • Call to Latch Server for pairing as usual, but with the newly methods:
    api = latch.Latch(APP_ID, SECRET_KEY)
    # PAIR
    response = api.pair(pairing_code, WEB3WALLET, WEB3SIGNATURE)

You have an example of use in the file example for web3 app

Tests

To run the tests you need a latch account with a paired user and an activated TOTP server, and fill an .env file with the following

    user_id = <user_id>
    user_secret = <user_secret>
    app_id = <app_id>
    secret_id = <secret_id>
    account_id = <account_id>

API User Access Keys: user_id, user_secret

From the app: app_id, secret_id

From the paired user: account_id (Id obtained when the user ir paired)

You can run the tests with the command

    python3 -m venv ./.venv
    .\.venv\Scripts\Activate.ps1
    pip install -r .\requirements.txt
    python3 -m unittest

About

No description or website provided.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 12