Skip to content

Instantly share code, notes, and snippets.

@anishmenon
Created September 7, 2014 18:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anishmenon/83b85214ca18ae53a624 to your computer and use it in GitHub Desktop.
Save anishmenon/83b85214ca18ae53a624 to your computer and use it in GitHub Desktop.
Freshdesk Django integration
#settings.py
FRESHDESK_URL = 'YOUR FRESHDESK URL'
FRESHDESK_SECRET_KEY = 'YOUR Single Sign On KEY' # you can find admin->security inside freshdesk admin
#views.py
from django.http import Http404
from django.contrib.auth.decorators import login_required
from django.views.decorators.cache import never_cache
from django.utils.encoding import iri_to_uri
from django.utils.http import urlquote
from django.core.exceptions import ImproperlyConfigured
import hashlib
import hmac
from datetime import datetime
@never_cache
@login_required
def help_authenticate(request):
if not request.user:
raise Http404()
first_name = request.user.first_name
dt = int(datetime.utcnow().strftime("%s")) - 148
data = '{0}{1}{2}'.format(
first_name, request.user.email, dt)
generated_hash = hmac.new(settings.FRESHDESK_SECRET_KEY.encode(), data.encode(), hashlib.md5).hexdigest()
url = settings.FRESHDESK_URL+'login/sso/?name='+urlquote(first_name)+'&email='+urlquote(request.user.email)+'&'+u'timestamp='+str(dt)+'&hash='+generated_hash
print url
return HttpResponseRedirect(url)
#urls.py
url(r'^helpdesk/', 'YOUR_APP_PATH.help_authenticate',name="help_authenticate"),
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment