django-oidc-provider/oidc_provider/lib/utils/common.py
2016-01-16 11:35:26 +01:00

58 lines
1.3 KiB
Python

from django.conf import settings as django_settings
from django.core.urlresolvers import reverse
from django.http import HttpResponse
from oidc_provider import settings
def redirect(uri):
"""
Custom Response object for redirecting to a Non-HTTP url scheme.
"""
response = HttpResponse('', status=302)
response['Location'] = uri
return response
def get_issuer():
"""
Construct the issuer full url. Basically is the site url with some path
appended.
"""
site_url = settings.get('SITE_URL')
path = reverse('oidc_provider:provider_info') \
.split('/.well-known/openid-configuration')[0]
issuer = site_url + path
return issuer
def get_rsa_key():
"""
Load the rsa key previously created with `creatersakey` command.
"""
file_path = settings.get('OIDC_RSA_KEY_FOLDER') + '/OIDC_RSA_KEY.pem'
try:
with open(file_path, 'r') as f:
key = f.read()
except IOError:
raise IOError('We could not find your key file on: ' + file_path)
return key
class DefaultUserInfo(object):
"""
Default class for setting OIDC_USERINFO.
"""
@classmethod
def get_by_user(cls, user):
return None
def default_sub_generator(user):
"""
Default function for setting OIDC_IDTOKEN_SUB_GENERATOR.
"""
return str(user.id)