Projet

Général

Profil

« Précédent | Suivant » 

Révision cf38fede

Ajouté par Serghei Mihai (congés, retour 15/05) il y a environ 9 ans

handling unauthorized user login attempt

Voir les différences:

ckanext/ozwillo_pyoidc/plugin.py
7 7
from ckan import model
8 8
from ckan.logic.action.create import user_create, member_create
9 9
import ckan.lib.base as base
10
from ckan.lib.helpers import flash_error
10 11

  
11 12
from pylons import config
12 13

  
13 14
import conf
14
from oidc import create_client
15
from oidc import create_client, OIDCError
15 16

  
16 17
plugin_config_prefix = 'ckanext.ozwillo_pyoidc.'
17 18

  
......
128 129
    def callback(self):
129 130
        g = model.Group.get(session['organization_id'])
130 131
        client = Clients.get(g)
131
        userinfo = client.callback(request.GET)
132
        org_url = str(toolkit.url_for(controller="organization",
133
                                      action='read',
134
                                      id=g.name))
135
        try:
136
            userinfo = client.callback(request.GET)
137
        except OIDCError, e:
138
            flash_error('Login failed')
139
            redirect_to(org_url, qualified=True)
132 140
        locale = None
133 141
        log.info('Received userinfo: %s' % userinfo)
134 142

  
......
137 145
            if '-' in locale:
138 146
                locale, country = locale.split('-')
139 147

  
140
        org_url = str(toolkit.url_for(host=request.host,
141
                                      controller="organization",
142
                                      action='read',
143
                                      id=g.name,
144
                                      locale=locale,
145
                                      qualified=True))
148
        org_url = toolkit.url_for(org_url, locale=locale, qualified=True)
146 149
        if 'sub' in userinfo:
147 150

  
148 151
            userobj = model.User.get(userinfo['sub'])

Formats disponibles : Unified diff