{ "info": { "author": "LaunchKey", "author_email": "support@launchkey.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "## Python SDK for LaunchKey API [![Build Status](https://travis-ci.org/LaunchKey/launchkey-python.png?branch=master)](https://travis-ci.org/LaunchKey/launchkey-python)\nFor use in implementing LaunchKey\nVersion 1.3.0\n@author LaunchKey\n@updated 2016-04-22\n\n#########################\n## Description\n\nUse to more easily interact with LaunchKey's API.\n\n#########################\n## Installation\n\n $ easy_install launchkey-python\nor\n\n $ pip launchkey-python\n\n#########################\n## Usage\n\n### To create a LaunchKey API object\n\n import launchkey\n #app_key will be provided in the dashboard\n app_key = 1234567890\n #app_secret will be provided in the dashboard once, or a new one may be generated\n app_secret = \"abcdefghijklmnopqrstuvwxyz123456\"\n private_key = open(\"path/to/key.pem\", \"r\").read()\n api = launchkey.API(app_key, app_secret, private_key)\n\n\n### When a user wishes to login\n\n #Set session to False if it's a transactional authorization and a session doesn't need to be kept\n #If session is not specified it will automatically default to True\n session = True\n #Set user_push_id to True if you would like to be returned a value that can be used to push requests to the user in the future\n #If user_push_id is not specified it will automatically default to False\n user_push_id = False\n auth_request = api.authorize(username, session, user_push_id)\n\n\n### To check up on whether that user has launched or not\n\n launch_status = poll_request(auth_request)\n\n\n### To figure out whether the user authorized or denied the request\n\n if api.is_authorized(auth_request, launch_status['auth']):\n #Now log the user in\n\n\n### When a user logs out\n\n api.logout(auth_request)\n\n### Dealing with Callbacks (Webhooks)\n\nReceiving an authorization\n\n #You will get auth_request, auth, and user_hash information in a JSON string\n auth_request = request.params['auth_request']\n auth = request.params['auth']\n user_hash = request.params['user_hash']\n #Identify the user's session by the correlating auth_request\n #Then use the is_authorized function to complete\n success = api.is_authorized(auth_request, auth)\n\n\nReceiving a deorbit request\n\n #You will receive two parameters: deorbit and signature\n deorbit = request.params['deorbit']\n signature = request.params['signature']\n #Use the deorbit function with these parameters to get the user_hash to logout\n user_hash = api.deorbit(deorbit, signature)\n #If you've kept the auth_request stored for the correlating user_hash you can look it up\n #and use it now to log the user out\n #auth_request = get_auth_request_from_user_hash(user_hash)\n api.logout(auth_request)\n\n### White Label\n\nYou can add users to your White Label Group via an App that belongs to the group using the new call.\n\n response = api.create_whitelabel_user(\"identifier\")\n\nIt is important to note that the identifier sent in should be sent as a string and should be a non-changing value unique\nto that user. It is recommended to use a primary key or UUID instead of a username or email address that could be\nsubject to change. This identifier will be used authenticate the user as well as pair devices additional devices to the\nuser's account within your white label group.\n\nThe response will include qrcode and code. The qrcode is a url to an image of the QR Code for the mobile application to\nscan. The code is a value that can be entered in the mobile application in the event the QR Code cannot be scanned.\n\n\n#########################\n## Tests\n\n $ python setup.py test\n\n#########################\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\nCHANGELOG for LaunchKey Python SDK\n==================================\n\n1.3.0\n-----\n\nPython 3 compatibility. \nAbility to send policies in auth request.\n\n1.2.7\n-----\n\nUpdate manifest for new CHANGES file\n\n1.2.6\n-----\n\nFix for bad build regarding CHANGES.md\n\n1.2.5\n-----\n\nRemove references to LK Identifier as the API no longer returns it.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://launchkey.com", "keywords": "launchkey security authentication", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "launchkey-python", "package_url": "https://pypi.org/project/launchkey-python/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/launchkey-python/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://launchkey.com" }, "release_url": "https://pypi.org/project/launchkey-python/1.3.0/", "requires_dist": null, "requires_python": null, "summary": "LaunchKey Python SDK", "version": "1.3.0" }, "last_serial": 2085732, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "f5717520785ca1e706337fc33a508c6c", "sha256": "8d9a9e06a35b06e0d9d613408bca3522cc8488a4fff4f5eadeb841c7ce3db9b9" }, "downloads": -1, "filename": "launchkey-python-1.0.tar.gz", "has_sig": false, "md5_digest": "f5717520785ca1e706337fc33a508c6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3944, "upload_time": "2013-07-04T20:58:01", "url": "https://files.pythonhosted.org/packages/b4/7c/5c00a61cb6a05c450ad4d4b4d18df0ca69acf6d055dfb79e07fee2503501/launchkey-python-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "ad347d327ff82e7854f35d7af3bde939", "sha256": "6f2b1d2941b85ec9b8a95f5a935ead5c953f488f671c5d2aafec9694b97e7bb9" }, "downloads": -1, "filename": "launchkey-python-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ad347d327ff82e7854f35d7af3bde939", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4900, "upload_time": "2013-07-04T21:25:34", "url": "https://files.pythonhosted.org/packages/1f/8f/51812765d1d9f9974d47e9d6fbda4139c4d5dd07397ebde689dd6ac96cdd/launchkey-python-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "3b9e2cd31afa5a25141b7bd7936d5499", "sha256": "8d29d17ee759f0e916ee8ea6c910d02bade09ef412192b1deff710b5284dcca7" }, "downloads": -1, "filename": "launchkey-python-1.0.2.tar.gz", "has_sig": false, "md5_digest": "3b9e2cd31afa5a25141b7bd7936d5499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4994, "upload_time": "2013-07-09T00:44:15", "url": "https://files.pythonhosted.org/packages/2c/49/6ac704c9ed88864a1f75a0128fdad957380edc8fb29d02215f07988aa16e/launchkey-python-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "01f1aa1f204fa4e889de79ccce1220b1", "sha256": "c3c0268ef3a712a4f3ffeae738df7103cda81f27a4a15e458156623196ddeecd" }, "downloads": -1, "filename": "launchkey-python-1.0.3.tar.gz", "has_sig": false, "md5_digest": "01f1aa1f204fa4e889de79ccce1220b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5388, "upload_time": "2013-07-25T21:51:54", "url": "https://files.pythonhosted.org/packages/06/dc/d5a61aebed8e88535fb1b569267ba91a95a550d498e5d125e7b727d7b83f/launchkey-python-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b84f20d0192fbfa0c89e0cccbfa6c33a", "sha256": "37b0ad2740b445c3994209720aa03be9e1fe7511096de95b67830fad7aac2a14" }, "downloads": -1, "filename": "launchkey-python-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b84f20d0192fbfa0c89e0cccbfa6c33a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7109, "upload_time": "2013-09-16T22:34:15", "url": "https://files.pythonhosted.org/packages/6d/00/e6507d0d2151de69fcf658e5f04e819f2d0cdffd77fff74576692f37924c/launchkey-python-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "294cc3c5ae89893e4e45d61f67b8018f", "sha256": "97665aca8e3f9ab145a200c6a707888b6e9e100320c96a7ea41e487a859ebc9d" }, "downloads": -1, "filename": "launchkey-python-1.1.1.tar.gz", "has_sig": false, "md5_digest": "294cc3c5ae89893e4e45d61f67b8018f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7115, "upload_time": "2013-10-03T00:27:29", "url": "https://files.pythonhosted.org/packages/27/b0/bf3e9328c9086e5a385e72ce885819d8fe4f20a0c7152f8f4bdb45553962/launchkey-python-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "7502a99cd721e451ba2e6d6872f17837", "sha256": "3dca1b43be9265eac0ba2432383093075b8dc02dd4a760b75f1d9f6b8557556a" }, "downloads": -1, "filename": "launchkey-python-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7502a99cd721e451ba2e6d6872f17837", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7292, "upload_time": "2014-06-24T21:43:17", "url": "https://files.pythonhosted.org/packages/36/be/37a6665a8aa33913fd7c1e4887dae302a7e6a49f51c18bd20a48df3271d1/launchkey-python-1.2.0.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "388aa546d936a7cd2fe03c8130dfb237", "sha256": "1ffbc16d7115a229340b354eba5f45f79c84f60f8f060a0785ead9cf70114baf" }, "downloads": -1, "filename": "launchkey-python-1.2.4.tar.gz", "has_sig": false, "md5_digest": "388aa546d936a7cd2fe03c8130dfb237", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7615, "upload_time": "2015-03-13T21:57:56", "url": "https://files.pythonhosted.org/packages/7a/fb/ec83a87017c082742c4e4b56abd629e308f47a6033b991ab6f32b8c0bc4a/launchkey-python-1.2.4.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "4b77cc8566831816c230ee57a2271e4c", "sha256": "79adf2e9371651a0ed1de2c4b9071304117b9c54f699f1a9c5b41a34d7a628c7" }, "downloads": -1, "filename": "launchkey-python-1.2.7.tar.gz", "has_sig": false, "md5_digest": "4b77cc8566831816c230ee57a2271e4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7733, "upload_time": "2015-04-06T22:34:35", "url": "https://files.pythonhosted.org/packages/62/19/d0558515c1a05683876458143a1afd4d7677cc05f025168413f6d8ff7aab/launchkey-python-1.2.7.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "b4eff1d959ecaa2bd851504a218b567b", "sha256": "294b9f25fdd1d93ba006e933589d5f23b00d5c0f9c133f3282bffd4eccb22084" }, "downloads": -1, "filename": "launchkey-python-1.3.0.tar.gz", "has_sig": false, "md5_digest": "b4eff1d959ecaa2bd851504a218b567b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8854, "upload_time": "2016-04-26T22:45:17", "url": "https://files.pythonhosted.org/packages/45/ac/489008cae654988fff703065b82035a5dcbedfbc7cfe7895ce4fab151f97/launchkey-python-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b4eff1d959ecaa2bd851504a218b567b", "sha256": "294b9f25fdd1d93ba006e933589d5f23b00d5c0f9c133f3282bffd4eccb22084" }, "downloads": -1, "filename": "launchkey-python-1.3.0.tar.gz", "has_sig": false, "md5_digest": "b4eff1d959ecaa2bd851504a218b567b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8854, "upload_time": "2016-04-26T22:45:17", "url": "https://files.pythonhosted.org/packages/45/ac/489008cae654988fff703065b82035a5dcbedfbc7cfe7895ce4fab151f97/launchkey-python-1.3.0.tar.gz" } ] }