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).

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.0.0.tar.gz (19.0 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-auth-fogbugz-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3542f8a1b1d35c37066a000f32792a5694edef9fc6cb1ad7ecc5d58dc7d1b43d
MD5 991f73b13ca101b90d847c37f8332006
BLAKE2b-256 ae6766283693020c239392571b7807284974c1217759b53fcc2dd3dd5294d1bf

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