Skip to main content

Django FogBugz authentication backend

Project description

This authentication backend for django, will authenticate against a FogBugz (http://www.fogcreek.com/fogbugz/) issue tracker. It uses the python interface (https://developers.fogbugz.com/default.asp?W199) to the FogBugz API (http://fogbugz.stackexchange.com/fogbugz-xml-api).

Source code, and issues can be found on GitHub (https://github.com/dougn/django-auth-fogbugz). Full documentation is on PyPi packages (http://packages.python.org/django-auth-fogbugz/).

User Model Extension

There is an extension profile model which is included with this auth backend to help with integrating with the FogBugz API when you set AUTH_FOGBUGZ_ENABLE_PROFILE to True in your settings, and include django-auth-fogbugz as an application in INSTALLED_APPS (see below):

user.fogbugzprofile.token
user.fogbugzprofile.ixPerson
user.fogbugzprofile.is_normal
user.fogbugzprofile.is_community
user.fogbugzprofile.is_administrator

Example:

import fogbugz
from django.conf import settings

fb = fogbugz.FogBugz(settings.AUTH_FOGBUGZ_SERVER,
                     user.fogbugzprofile.token)
resp = fb.search(q='assignedTo:"me" status:"Active"',
                cols="ixBug,sTitle",
                max=10)
top_ten = ''
for case in resp.cases.findAll('case'):
     top_ten += "%s: %s\n" % (case.ixbug.string,
                              case.stitle.string.encode('UTF-8'))

Settings

AUTH_FOGBUGZ_SERVER = "https://my_account.fogbugz.com/"

# By default community users will not be authenticated. If you wish to include
# FogBugz community user logins, set this to True.
#
AUTH_FOGBUGZ_ALLOW_COMMUNITY = False

# Have django-auth-fogbugz create the django user if it does not already
# exist, and the user authenticates.
#
AUTH_FOGBUGZ_AUTO_CREATE_USERS = False

# If your FogBugz server is using the LDAP integration for authentication, then
# You need to set this to True in order to have authentication work properly.
# If you are also have AUTH_FOGBUGZ_AUTO_CREATE_USERS set to True, then the
# first time a user logs in to the django site, they must use their LDAP
# username, and not their e-mail address.
#
AUTH_FOGBUGZ_SERVER_USES_LDAP = False

# FogBugz has a concept if a superuser, the 'administrator' flag on accounts.
# The following settings will map this information to the django account.
#
AUTH_FOGBUGZ_MAP_ADMIN_AS_SUPER = False
AUTH_FOGBUGZ_MAP_ADMIN_AS_STAFF = False

# There is an extension profile model which is included with this auth backend
# to help with integrating with the FogBugz API::
#
#     user.fogbugzprofile.ixPerson
#     user.fogbugzprofile.is_community
#     user.fogbugzprofile.is_administrator
#
#
# You must also add 'django-auth-fogbugz' as django app in your
# INSTALLED_APPS when enabling this.
#
AUTH_FOGBUGZ_ENABLE_PROFILE = False

# With the fogbugz profile extension enabled, there is the option to store
# the serurity login token for the FogBugz user. This token can be used
# instead of the username and password to log into the FogBugz server.
# The authentication token can be accessed via the profile::
#
#     user.fogbugzprofile.token
#
#
# ..note:: If you enable token storage, make sure your SESSION_COOKIE_AGE
#          is less than or equal to the FogBugz expiration time (2 weeks,
#          same as the django default) and that FogBugz Server
#          Configuraition for Authentication logon is set to
#          ``"Remember Me" Allowed``.
#
# ..warning:: Enabling the profile token extension will allow any code with
#             access to the user models to have a login authentication token
#             for non-expired users. This could allow Django code to access
#             the FogBugz server as those users.
#
# You must also add 'django-auth-fogbugz' as django app in your
# INSTALLED_APPS and set AUTH_FOGBUGZ_ENABLE_PROFILE to true
# when enabling this.
#
AUTH_FOGBUGZ_ENABLE_PROFILE_TOKEN = False

# Keep ModelBackend around for per-user permissions and maybe a local
# superuser.
AUTHENTICATION_BACKENDS = (
    'django_auth_fogbugz.backend.FogBugzBackend',
    'django.contrib.auth.backends.ModelBackend',
)

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

django-auth-fogbugz-1.1.0.tar.gz (19.2 kB view details)

Uploaded Source

File details

Details for the file django-auth-fogbugz-1.1.0.tar.gz.

File metadata

File hashes

Hashes for django-auth-fogbugz-1.1.0.tar.gz
Algorithm Hash digest
SHA256 fd89f533e06326c46be9a1fbcb6e31cdb47b8ab6e518acf316c4c6e9eaac6352
MD5 866e19bb00ed40b2b1ecf96cea11d902
BLAKE2b-256 975b4c44879da1b4bfa9aa2829887bedfdd40938fad8a082ee61a73b320591d1

See more details on using hashes here.

Supported by

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