VC: Fix error on clone page for legacy-ID events
[cds-indico.git] / indico / modules / auth / providers.py
blob17850225cc36f24aadcdbe14aa769f153a583ef0
1 # This file is part of Indico.
2 # Copyright (C) 2002 - 2015 European Organization for Nuclear Research (CERN).
4 # Indico is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License as
6 # published by the Free Software Foundation; either version 3 of the
7 # License, or (at your option) any later version.
9 # Indico is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with Indico; if not, see <http://www.gnu.org/licenses/>.
17 from __future__ import unicode_literals
19 from flask_multipass.providers.sqlalchemy import SQLAlchemyAuthProviderBase, SQLAlchemyIdentityProviderBase
21 from indico.modules.auth import Identity
22 from indico.modules.auth.forms import LocalLoginForm
23 from indico.modules.users import User
26 class IndicoAuthProvider(SQLAlchemyAuthProviderBase):
27 login_form = LocalLoginForm
28 identity_model = Identity
29 provider_column = Identity.provider
30 identifier_column = Identity.identifier
31 multi_instance = False
33 def check_password(self, identity, password):
34 # No, the passwords are not stored in plaintext. Magic is happening here!
35 return identity.password == password
38 class IndicoIdentityProvider(SQLAlchemyIdentityProviderBase):
39 user_model = User
40 identity_user_relationship = 'user'
41 multi_instance = False