import odoo from odoo import http from odoo.http import request from odoo import tools from odoo.addons.web.controllers.main import ensure_db from odoo.http import request, db_filter class WebController(http.Controller): @http.route('/web/session/authenticate', type='json', auth="none") def authenticate(self, login, password, base_location=None, db=None): if db: if db not in http.db_filter([db]): return {"error": "Database not allowed", "status": 403} if request.session.db and request.session.db != db: request.session.logout() request.session.db = db else: db = tools.config.get('db_name') if not db: return {"error": "Database name should be specified in Conf File or passed in request", "status": 400} ensure_db() request.session.authenticate(db, login, password) return request.env['ir.http'].session_info()