diff --git a/addons/auth_openid/controllers/main.py b/addons/auth_openid/controllers/main.py index af30566a643..2df7e81cb44 100644 --- a/addons/auth_openid/controllers/main.py +++ b/addons/auth_openid/controllers/main.py @@ -118,8 +118,20 @@ class OpenIDController(openerpweb.Controller): def _get_realm(self, req): return req.httprequest.host_url + @openerpweb.httprequest + def verify_direct(self, req, db, url): + result = self._verify(req, db, url) + if 'error' in result: + return werkzeug.exceptions.BadRequest(result['error']) + if result['action'] == 'redirect': + return werkzeug.utils.redirect(result['value']) + return result['value'] + @openerpweb.jsonrequest def verify(self, req, db, url): + return self._verify(req, db, url) + + def _verify(self, req, db, url): redirect_to = werkzeug.urls.Href(req.httprequest.host_url + 'auth_openid/login/process')(session_id=req.session_id) realm = self._get_realm(req)