add copyright headers (#32866)
This commit is contained in:
parent
7f191e9bc6
commit
e04459825c
16
setup.py
16
setup.py
|
@ -1,4 +1,20 @@
|
|||
#!/usr/bin/python
|
||||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import sys
|
||||
import os
|
||||
import subprocess
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import utils
|
||||
from . import app_settings
|
||||
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.contrib.auth import get_user_model
|
||||
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
class AppSettings(object):
|
||||
'''Thanks django-allauth'''
|
||||
|
@ -10,7 +28,7 @@ class AppSettings(object):
|
|||
from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
|
||||
v = getattr(settings, self.prefix + name, dflt)
|
||||
v = getattr(settings, self.prefix + name, dflt)
|
||||
if v is self.__SENTINEL:
|
||||
raise ImproperlyConfigured('Missing setting %r' % (self.prefix + name))
|
||||
return v
|
||||
|
@ -118,9 +136,6 @@ class AppSettings(object):
|
|||
def popup(self):
|
||||
return self._setting('POPUP', False)
|
||||
|
||||
|
||||
import sys
|
||||
|
||||
app_settings = AppSettings('A2_FC_')
|
||||
app_settings.__name__ = __name__
|
||||
sys.modules[__name__] = app_settings
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from django.utils.translation import gettext_noop
|
||||
from django.template.loader import render_to_string
|
||||
from django.shortcuts import render
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import json
|
||||
import logging
|
||||
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
# Authentic2 Mon.service-public.fr plugin french translations
|
||||
# Copyright (C) 2014 Entr'ouvert
|
||||
# This file is distributed under the same license as the authentic2-auth-fc package.
|
||||
# Benjamin Dauvergne <bdauvergne@entrouvert.com, 2017.
|
||||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import base64
|
||||
import json
|
||||
import hmac
|
||||
|
@ -24,7 +40,7 @@ def base64url_decode(input):
|
|||
def parse_id_token(id_token, client_id=None, client_secret=None):
|
||||
try:
|
||||
splitted = str(id_token).split('.')
|
||||
except:
|
||||
except Exception:
|
||||
return None, 'invalid id_token'
|
||||
if len(splitted) != 3:
|
||||
return None, 'invalid id_token'
|
||||
|
@ -54,7 +70,7 @@ def parse_id_token(id_token, client_id=None, client_secret=None):
|
|||
return False
|
||||
try:
|
||||
parsed_issuer = urlparse.urlparse(payload['iss'])
|
||||
except:
|
||||
except Exception:
|
||||
return False
|
||||
return parsed_issuer.scheme == parsed.scheme and parsed_issuer.netloc == parsed.netloc
|
||||
|
||||
|
@ -86,7 +102,6 @@ class FcAccount(models.Model):
|
|||
|
||||
def __unicode__(self):
|
||||
user_info = self.get_user_info()
|
||||
id_token = self.id_token
|
||||
display_name = []
|
||||
if 'given_name' in user_info:
|
||||
display_name.append(user_info['given_name'])
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from django.conf.urls import url, include
|
||||
|
||||
from . import views
|
||||
|
@ -8,7 +24,7 @@ fcpatterns = [
|
|||
]
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^fc/', include(fcpatterns)),
|
||||
url(r'^accounts/fc/register/$', views.registration, name='fc-registration'),
|
||||
url(r'^accounts/fc/unlink/$', views.unlink, name='fc-unlink'),
|
||||
url(r'^fc/', include(fcpatterns)),
|
||||
url(r'^accounts/fc/register/$', views.registration, name='fc-registration'),
|
||||
url(r'^accounts/fc/unlink/$', views.unlink, name='fc-unlink'),
|
||||
]
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import urllib
|
||||
import logging
|
||||
import os
|
||||
|
|
|
@ -1,8 +1,23 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import uuid
|
||||
import logging
|
||||
import json
|
||||
import urlparse
|
||||
import urllib
|
||||
import requests
|
||||
|
||||
from requests_oauthlib import OAuth2Session
|
||||
|
@ -10,7 +25,6 @@ from requests_oauthlib import OAuth2Session
|
|||
|
||||
import django
|
||||
from django.views.generic import View, FormView
|
||||
from django.views.generic.detail import SingleObjectMixin
|
||||
from django.http import HttpResponseRedirect, Http404
|
||||
from django.contrib.auth import authenticate, REDIRECT_FIELD_NAME, get_user_model
|
||||
from django.contrib import messages
|
||||
|
@ -473,7 +487,7 @@ class RegistrationView(PopupViewMixin, LoggerMixin, View):
|
|||
if self.get_in_popup():
|
||||
params['popup'] = ''
|
||||
redirect_to = a2_utils.make_url('fc-login-or-link', params=params)
|
||||
if not 'email' in data:
|
||||
if 'email' not in data:
|
||||
data[REDIRECT_FIELD_NAME] = redirect_to
|
||||
messages.warning(request,
|
||||
_("FranceConnect didn't provide your email address, please do."))
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
# authentic2-auth-fc - authentic2 authentication for FranceConnect
|
||||
# Copyright (C) 2019 Entr'ouvert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Affero General Public License as published
|
||||
# by the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import json
|
||||
import pytest
|
||||
import django_webtest
|
||||
|
|
Reference in New Issue