{ "info": { "author": "Jeff Dairiki", "author_email": "dairiki@dairiki.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Plugins", "Environment :: Web Environment", "Framework :: Trac", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Topic :: Internet :: WWW/HTTP" ], "description": "============================\nOpenID Authentication Plugin\n============================\n\nDescription\n===========\n\nThis plugin allows to login to Trac using OpenID. I use it with Trac 0.12.\nIt was developed under Trac 0.11, so it should work there too.\nVersion 0.4 of this plugin runs under trac 1.0 (formerly 0.13), but\nthis configuration has not yet been extensively tested or used in\nproduction.\n\nDownload & Source\n=================\n\nThe source repository is on github__.\nYou may submit bug reports and pull requests there.\n\n__ https://github.com/dairiki/authopenid-plugin/\n\nThere are several ways to install this plugin.\n\n1. You can install directly from PyPI_ using ``easy_install`` or pip_::\n\n easy_install TracAuthOpenId\n\n or::\n\n pip install TracAuthOpenId\n\n.. _PyPI: http://pypi.python.org/pypi/TracAuthOpenId/\n.. _pip: http://www.pip-installer.org/\n\n2. There is a `Debian package`_ for this plugin::\n\n sudo aptitude install trac-authopenid\n\n.. _Debian package: http://packages.qa.debian.org/t/trac-authopenid.html\n\n3. `Patrick Uiterwijk`_ has packaged__ this plugin for Fedora::\n\n yum install trac-authopenid-plugin\n\n Should you have questions regarding the Fedora packaging, please file\n them in the Fedora `bug tracker`_.\n\n__ https://apps.fedoraproject.org/packages/trac-authopenid-plugin\n.. _bug tracker: https://apps.fedoraproject.org/packages/trac-authopenid-plugin/bugs\n\n4. You can clone git repository somewhere in your system::\n\n cd /your/3rdparty/src\n git clone git://github.com/dairiki/authopenid-plugin.git\n\n Then you should do following steps::\n\n cd authopenid-plugin\n python setup.py install\n\n Alternatively, if you use pip_, you can install directly from the git\n repository::\n\n pip install git+git://github.com/dairiki/authopenid-plugin.git\n\nFor any of the above methods, if you want to do a system-wide\ninstallation, you will have to do this with *root* permissions\n(e.g. using ``su`` or ``sudo``).\n\n\nHow to enable\n=============\n\n::\n\n [components]\n trac.web.auth.* = disabled\n authopenid.* = enabled\n\n\nYou don't need to disable default authentication mechanism\n(trac.web.auth.*) if you are using it. OpenID plugin does not conflict\nwith default authentication mechanism.\n\nOptions\n=======\n\nThis plugin has number of configuration options. Here is an excerpt\nfrom an example config file which lists all available options::\n\n [openid]\n\n ################################################################\n # Provider selection\n\n # Single sign-on support\n #\n # If you want to support only a single OpenID provider and that\n # provider allows the users to select his account as part of its\n # authentication process, set default_openid to the OP identifier\n # of the provider. Then clicking the _OpenID Login_ link will take\n # the user directly to the providers authentication interface,\n # bypassing the openid provider/identity selection dialog.\n #\n # E.g. to use google as your sole openid provider, use\n #default_openid = https://www.google.com/accounts/o8/id\n\n # (If you have set default_openid, the identity selection dialog is\n # not displayed, and the rest of the options in this section are moot.)\n\n # Explicit set of provider names to display. Should be set to a comman\n # separated list of provider names. Choices include:\n # google, yahoo, aol, openid, myopenid, livejournal, flickr, technorati,\n # wordpress, blogger, verisign, vidoop, claimid, as well as any\n # custom provider you may have configured (via custom_provider_name).\n # By default all known providers are listed.\n #providers = google, myopenid\n\n # Add a custom openid provider to the form\n # provider name\n #custom_provider_name = myprovider\n # label\n #custom_provider_label = Enter your username\n # identity template\n #custom_provider_url = http://myprovider.example.net/{username}\n # URL to image/icon\n #custom_provider_image = /static/icons/myprovider.png\n # image size (small or large)\n #custom_provider_size = small\n\n # What is OpenID link.\n whatis_link = http://openid.net/what/\n # Sign-up link\n signup_link = http://openid.net/get\n\n ################################################################\n # Authorization\n\n # Identity white and black lists\n #\n # IMPORTANT: strip_protocol and strip_trailing_slash (see below) affectswhat\n # openid will be given to white_list or black_list\n\n # white_list: If set, only identities matching this list will be accepted\n # E.g. to allow only google and myopenid provided identities, use\n #white_list = https://www.google.com/accounts/o8/id?id=*, http://*.myopenid.com/\n\n # black_list: If set, matching identities will not be accepted\n #black_list = http://spammer.myopenid.com/\n\n # Comma separated list of allowed users, using the email address\n # resolved via SREG or AX. Use in combination with trusted\n # identity patterns in white_list.\n #email_white_list = joe@example.com\n\n # In addition to white and black lists you can use external web\n # service for allowing users into trac. To control that you must\n # use check_list and check_list_key option. It will generate URL:\n #\n # ?=openid&email=email\n #\n # email will be attached only if available.\n #\n # It expects JSON result in following format:\n #\n # {\"\": true}\n #\n # Your check_list web app may also be used to map openid\n # identifiers to your own internal authnames (usernames). (See\n # check_list_username below.)\n #\n # IMPORTANT: strip_protocol and strip_trailing_slash affects what\n # openid will be send to service\n #\n # You can use this option to map your OpenIDs to internal username.\n #check_list = http://your.site.com/openidallow\n\n # The parameter name used both for passing the claimed identity\n # to the authorization app, as well as for returning the authorization\n # status. Defaults to \"check_list\".\n #check_list_key = check_list\n\n # Expiration time acts as timeout. E.g. if expiration time is 24\n # hour and you login again in those 24 hours. Expiration time is\n # extended for another 24 hours. (Default: false)\n timeout = false\n\n ################################################################\n # OpenID protocol and extensions\n\n # Require sreg data\n sreg_required = false\n\n # Default PAPE method to request from OpenID provider.\n # pape_method =\n\n # In some cases you might want allow users to login to different\n # projects using different OpenIDs. In that case don't use\n # absolute trust root.\n absolute_trust_root = false\n\n\n # Use the OpenIDTeams extension to request user's group membership.\n # If a user is a member of any of the teams listed in this option,\n # the user will be added to the trac permission group(s) of the same\n # name. (Set to to a comma-separated list.)\n #\n # NOTE: To use this option, the python-openid-teams package must be\n # installed.\n groups_to_request =\n\n ################################################################\n # Authname (trac SID) generation\n\n # Force authname to lowercase (default true)\n #lowercase_authname = true\n\n # Use SREG nickname as authname (default false)\n #use_nickname_as_authname = false\n\n # If you want username to be written as\n # \"username_in_remote_system \" use:\n #combined_username = true\n\n # Remove http:// or https:// from URL that is used as\n # username. (Default: false)\n strip_protocol = false\n\n # Remove trailing slash from URL that is user as username (Defaul: false)\n strip_trailing_slash = false\n\n # If you have an external authorization web app configured (via\n # check_list), you may also use that to map openid identifiers to\n # local usernames (authnames). Set check_list_username to the name\n # of a parameter which will be used to return the authname.\n # E.g. if check_list_username=username, the expected JSON result from\n # the authorization service is\n #\n # {\"check_list\": true, \"username\": \"Peter\"}\n #\n #check_list_username=\n\n # Normally, the authname is not trusted to uniquely identify the user.\n # (What if another user has already registered with the same username?)\n # By default, a small integer is appended to the authname to make it\n # unique. To default this, you may set trust_authname to true.\n #\n # WARNING: Setting this can is many circumstances make identity theft\n # very easy. Only set this if you understand what you are doing.\n #trust_authname = false\n\n\n # Authentication cookie controls.\n #\n # Note that these are in the [trac] config section.\n\n [trac]\n\n # Check user IP address. IP addresses are masked because\n # in some cases user is behind internal proxy and last\n # number in IP address might vary.\n # (Does not currently support IPv6.)\n check_auth_ip = true\n check_auth_ip_mask = 255.255.255.0\n\n # number of seconds until cookie will expire\n auth_cookie_lifetime = 86400\n\n\nAuthors\n=======\n\nThis plugin was written by `Dalius Dobravolskas`_.\nIt is currently being maintained by `Jeff Dairiki`_.\nOther contributors include: `Patrick Uiterwijk`_ and `@sleske`_.\n\n.. _Jeff Dairiki: mailto:dairiki@dairiki.org\n.. _Dalius Dobravolskas: mailto:dalius@sandbox.lt\n.. _Patrick Uiterwijk: https://github.com/puiterwijk\n.. _@sleske: https://github.com/sleske\n\n\n=======\nChanges\n=======\n\nVersion 0.4.7 (2013-12-06)\n==========================\n\nBug Fixes\n---------\n\n- Avoid ``KeyError: 'openid.return_to'`` error when user cancels verification.\n (Fix__ by @sleske)\n\n__ https://github.com/dairiki/authopenid-plugin/pull/16\n\n- On login, first try to look up the username by the supplied OpenID\n identifier. Only create a (new) username if the lookup fails. Thus\n returning users will no longer get a new username if the data returned\n by their OpenID provider changes. (Fixes `#14`_.)\n Note that previous releases would create a new username with the same\n OpenID identifier in this case. If that has happened in your\n installation, there will be multiple usernames with the same OpenID\n identifier. In that case the user will now always be logged into the\n username that was last used, and a warning will be logged (\"Multiple\n users share the same openid identifier\"). You should probably clean up\n these \"duplicate\" usernames (usually by joining them). (Fix by @sleske)\n\n.. _#14: https://github.com/dairiki/authopenid-plugin/issues/14\n\n\nVersion 0.4.6 (2013-06-27)\n==========================\n\nBug Fixes\n---------\n\n- Avoid ``AttributeError`` when neither name nor email is returned from\n the OP. (Fixes `#9`_.)\n\n.. _#9: https://github.com/dairiki/authopenid-plugin/issues/9\n\n\nVersion 0.4.5 (2013-06-23)\n==========================\n\n(Another) brown bag release. I botched release 0.4.4, *and* managed to\ntotally delete the PyPI repository in the process. (Sorry.)\n\nVersion 0.4.4 (2013-06-23)\n==========================\n\nNew Features\n------------\n\n- (Contributed by Patrick Uiterwijk) Users can be added to trac groups\n according to group membership provided via the OpenIDTeams_\n extension. Only groups listed in the new ``groups_to_request``\n config option will be considered for possible membership. To use\n this feature you must install the python-openid-teams_ package.\n\n.. _OpenIDTeams: https://dev.launchpad.net/OpenIDTeams\n.. _python-openid-teams: https://pypi.python.org/pypi/python-openid-teams\n\nBug/Security Fixes\n------------------\n\n- Previously, if no email address was returned via AX or SREG, the\n ``email_white_list`` config option was being ignored. Now if\n ``email_white_list`` is set and no email address can be determined,\n authorization will be denied.\n\n- Do not create new users with a username which already has trac permissions\n assigned to it. (E.g. this might be the name of a trac group.)\n\nDocumentation\n-------------\n\n- Updated the example config in the README__ so that it more closely\n matches current reality. (Baby steps...)\n\n__ https://github.com/dairiki/authopenid-plugin#options\n\nVersion 0.4.3 (2013-05-22)\n==========================\n\nBug Fixes\n---------\n\n- Fix so that ``check_list_username`` actually works. Now one can\n actually use the ``check_list`` web API to implement custom identity\n to username mapping.\n\n- Fall back to using the identifier URL as the authname (rather than\n throwing an exception) if the OpenID provider did not return a full\n name (or nickname).\n\nPackaging\n---------\n\n- README.rst: Patrick Uiterwijk has packaged this plugin for Fedora\n\n\nVersion 0.4.2 (2013-03-24)\n==========================\n\nNew Features\n------------\n\nThese features were contributed by Patrick Uiterwijk.\n\n- New config option ``use_nickname_as_authname``. If set, the OpenID\n nickname will be used for the authname (or trac username).\n\n- New config option ``trust_authname``. If set, trust the\n OpenID-derived authname to be unique. **Security warning**: do not\n set this unless you know what you are doing.\n\n\nVersion 0.4.1 (2012-06-25)\n==========================\n\nThis is a brown bag release. Release 0.4 was unusable.\n\nBug Fixes\n---------\n\n- Packaging: A number of crucial files were omitted from the manifest.\n\nVersion 0.4 (2012-06-25)\n========================\n\nConfiguration Changes\n---------------------\n\n- The default for ``[trac] check_auth_ip`` is now ``False``. **This\n has security implications**. If you want authorization to be tied\n to the clients IP address *you must now explicitly set* this option\n to ``True``.\n\n Prior to this change, if ``check_auth_ip`` was not explicitly set, we\n ignored the global trac default (``False``) for the setting and behaved\n as if it were set to ``True``.\n\n This change is being made for the sake of backwards compatibility\n with trac 0.11 whose ``Configuration.has_option`` method does not\n support the optional ``defaults`` argument added in 0.12. Without\n that there seems to be no clean way to determine whether a setting\n is explicitly set in the ``.ini`` file.\n\n\nNew Features\n------------\n\n- We will now use the json_ package if your python version includes it\n (python >= 2.6). For older pythons, the simplejson_ package is now\n required.\n\n\n- A minor hack has been made which allows at least basic functionality\n under the development branch, trac-1.0 (formerly know as trac-0.13).\n Note that only very basic tests under trac-1.0 have not been\n performed. (The code in this plugin still does not adhere to\n the modern `trac db API`_ usage recommendations.)\n\n.. _json: http://docs.python.org/library/json.html\n.. _simplejson: https://github.com/simplejson/simplejson\n.. _trac db API: http://trac.edgewall.org/wiki/TracDev/DatabaseApi\n\nVersion 0.3.6 (2012-03-05)\n==========================\n\nNew Maintainer\n--------------\n\nJeff Dairiki has taken over maintenance of this plugin from\nthe original author, Dalius Dobravolskas (who no longer uses trac.)\n\nThe source repository for the plugin has moved to\nhttps://github.com/dairiki/authopenid-plugin.\n\nNew Features\n------------\n\n- Respect the ``[trac] auth_cookie_lifetime`` config value when\n setting cookie expiration times.\n\nDeprecations\n------------\n\n- Using the ``[trac] expires`` setting to specify the auth cookie lifetime\n is deprecated. Use ``[trac] auth_cookie_lifetime`` instead.\n (The ``expires`` setting does not seem to exist in trac 0.12 or 0.11.)\n\nBug Fixes\n---------\n\n- Don't override the default value for the ``[trac] check_auth_ip``\n configuration setting. Trac declares this to have a default value\n of *false*; we were overriding that default to *true*.\n\nVersion 0.3.5 (2011-10-04)\n==========================\n\n\nNew Features\n------------\n\n- Now AX (as well as SREG) are attempted to get the user\u2019s name.\n This is tested with Google (which does not support SREG).\n\n- The new config setting ``[openid] lowercase_authname``\n specifies whether to force authnames to lowercase.\n For backwards compatibility, the default for this option is\n *true* (see below__). In general, however, I think it makes\n more sense to set this option to *false*.\n\n__ `authnames were being lower-cased`_\n\n\nBug Fixes\n---------\n\n- _`Authnames were being lower-cased` when recovering them from the cookie,\n but not when generating them initially. This resulted \u2014 unless the\n user\u2019s name was all lower case to start with \u2014 in two sessions being\n created upon initial login, one of which was ignored thereafter.\n\n- Always uniquify authnames. When they are lowercased, there\u2019s always a\n chance of collision, even when they include the identity URL.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dairiki/authopenid-plugin/", "keywords": "trac openid", "license": "Trac license (BSD-like)", "maintainer": null, "maintainer_email": null, "name": "TracAuthOpenId", "package_url": "https://pypi.org/project/TracAuthOpenId/", "platform": "Any", "project_url": "https://pypi.org/project/TracAuthOpenId/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/dairiki/authopenid-plugin/" }, "release_url": "https://pypi.org/project/TracAuthOpenId/0.4.7/", "requires_dist": null, "requires_python": null, "summary": "OpenID plugin for Trac", "version": "0.4.7" }, "last_serial": 937667, "releases": { "0.4.3": [ { "comment_text": "", "digests": { "md5": "ada6ae6fadeeb502d78458ed619b1d5e", "sha256": "71ae9b7b185e9d318bada67465b7798716a11d447b39f0030526b1c5a837b3a8" }, "downloads": -1, "filename": "TracAuthOpenId-0.4.3.tar.gz", "has_sig": true, "md5_digest": "ada6ae6fadeeb502d78458ed619b1d5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37854, "upload_time": "2013-06-23T18:44:59", "url": "https://files.pythonhosted.org/packages/b3/ed/6639cc936e02abaad9d87c03c62afcc9d4a7035008efad13792bf43d7b4a/TracAuthOpenId-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "a4f613f0eda56a602d9010fe91d65238", "sha256": "3126c7099ad8dc285914716d932d4375f0c196be695ea03d04ac1df5bb6ba316" }, "downloads": -1, "filename": "TracAuthOpenId-0.4.4.tar.gz", "has_sig": true, "md5_digest": "a4f613f0eda56a602d9010fe91d65238", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41539, "upload_time": "2013-06-23T18:42:27", "url": "https://files.pythonhosted.org/packages/f4/6d/88717111efdb7a0d47f2c4b2c132b37dc6766645b6336b3e7204783de188/TracAuthOpenId-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "7dc691958af8669906ab3c72a730869b", "sha256": "30f3820bccaa6948513fa9a64ae5bda64f442dbfc821a1ae8dbe59b6956c9878" }, "downloads": -1, "filename": "TracAuthOpenId-0.4.5.tar.gz", "has_sig": true, "md5_digest": "7dc691958af8669906ab3c72a730869b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41609, "upload_time": "2013-06-23T18:51:47", "url": "https://files.pythonhosted.org/packages/fc/d7/8fedc1f48c1cfe6f93fef6c087bd6b818fd19aa218032c85bb67978defb8/TracAuthOpenId-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "adc9379f052135fe5b4e8196b7538947", "sha256": "22292ef8fce6fa194ebe5a208d17d88ff1407d2b44e5663355a3d17d569d1a1a" }, "downloads": -1, "filename": "TracAuthOpenId-0.4.6.tar.gz", "has_sig": true, "md5_digest": "adc9379f052135fe5b4e8196b7538947", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41733, "upload_time": "2013-06-27T16:59:53", "url": "https://files.pythonhosted.org/packages/45/7c/98cdb5e3da4eeecc517e91dd828e0681ab5d4f1ca2784be09b022e531434/TracAuthOpenId-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "e2df8122cd244b027ab2715941bd50d3", "sha256": "2fa72aa34b855cd655f0c9e84e4f1c8211ad963d3cb91c1a6789064f8c80b040" }, "downloads": -1, "filename": "TracAuthOpenId-0.4.7.tar.gz", "has_sig": true, "md5_digest": "e2df8122cd244b027ab2715941bd50d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42477, "upload_time": "2013-12-06T15:18:40", "url": "https://files.pythonhosted.org/packages/27/83/f273b0223beb08c04bcca50b0924fcc3dc8d488f808209e20431f32fb490/TracAuthOpenId-0.4.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e2df8122cd244b027ab2715941bd50d3", "sha256": "2fa72aa34b855cd655f0c9e84e4f1c8211ad963d3cb91c1a6789064f8c80b040" }, "downloads": -1, "filename": "TracAuthOpenId-0.4.7.tar.gz", "has_sig": true, "md5_digest": "e2df8122cd244b027ab2715941bd50d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42477, "upload_time": "2013-12-06T15:18:40", "url": "https://files.pythonhosted.org/packages/27/83/f273b0223beb08c04bcca50b0924fcc3dc8d488f808209e20431f32fb490/TracAuthOpenId-0.4.7.tar.gz" } ] }