{ "info": { "author": "Alexey Zotov", "author_email": "alexey.zotov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Twisted", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Internet :: WWW/HTTP" ], "description": "authkerb\n ========\n \n Kerberos authentication for Twisted\n \n ```python\n import os\n import sys\n \n from twisted.cred.portal import IRealm, Portal\n from twisted.internet import reactor\n from twisted.python import log\n from twisted.web import server\n from twisted.web.guard import HTTPAuthSessionWrapper, BasicCredentialFactory\n from twisted.web.resource import IResource, Resource\n \n from zope.interface import implements\n \n import authkerb\n \n \n class Simple(Resource):\n isLeaf = True\n \n def render_GET(self, request):\n return 'Hello, world!'\n \n \n class Realm(object):\n implements(IRealm)\n \n def requestAvatar(self, avatarId, mind, *interfaces):\n if IResource in interfaces:\n return (IResource, Simple(), lambda: None)\n \n raise NotImplementedError()\n \n \n os.environ['KRB5_KTNAME'] = '/path/to/keytab'\n log.startLogging(sys.stdout)\n \n negotiateChecker = authkerb.NegotiateCredentialsChecker()\n basicChecker = authkerb.BasicCredentialsChecker('HTTP/example.org', 'EXAMPLE.ORG')\n \n portal = Portal(Realm(), [negotiateChecker, basicChecker])\n \n negotiateFactory = authkerb.NegotiateCredentialFactory('HTTP')\n basicFactory = BasicCredentialFactory('realm')\n \n resource = HTTPAuthSessionWrapper(portal, [negotiateFactory, basicFactory])\n site = server.Site(resource)\n \n reactor.listenTCP(8080, site)\n reactor.run()\n ```", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alexeyzotov/authkerb", "keywords": "twisted kerberos authentication", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "authkerb", "package_url": "https://pypi.org/project/authkerb/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/authkerb/", "project_urls": { "Homepage": "https://github.com/alexeyzotov/authkerb" }, "release_url": "https://pypi.org/project/authkerb/0.1/", "requires_dist": null, "requires_python": null, "summary": "Kerberos authentication for Twisted", "version": "0.1" }, "last_serial": 1192947, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5098ddc774f11eefd4eefe537600d410", "sha256": "f68f78dcddf26b456679b6ce1ccf1b774be05e2ff4752efe292b5f43d770fbbd" }, "downloads": -1, "filename": "authkerb-0.1.tar.gz", "has_sig": false, "md5_digest": "5098ddc774f11eefd4eefe537600d410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2894, "upload_time": "2014-08-17T09:09:56", "url": "https://files.pythonhosted.org/packages/b7/4c/412a8c2eb8a092e1ebf1ee7b141791cfb3c05ff951cfe209eb8df82777ea/authkerb-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5098ddc774f11eefd4eefe537600d410", "sha256": "f68f78dcddf26b456679b6ce1ccf1b774be05e2ff4752efe292b5f43d770fbbd" }, "downloads": -1, "filename": "authkerb-0.1.tar.gz", "has_sig": false, "md5_digest": "5098ddc774f11eefd4eefe537600d410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2894, "upload_time": "2014-08-17T09:09:56", "url": "https://files.pythonhosted.org/packages/b7/4c/412a8c2eb8a092e1ebf1ee7b141791cfb3c05ff951cfe209eb8df82777ea/authkerb-0.1.tar.gz" } ] }