我正在使用Google OAuth for Google使用Odoo登录。
一切正常,我可以使用谷歌登录没有问题。但是,我无法使用相同的Google凭据打开多个会话。
例如,如果我打开两个会话,一个在chrome中,另一个在firefox中,则旧会话将被注销。
我不明白这是什么问题,因为无论我开始多少次会议如果我使用我的用户名和密码单独登录,而不使用google OAuth,没有任何会话获得退出 - 工作正常。
我想知道它与代码有关,所以我做了很多调整但没有任何作用。我看到它一度无法获得旧会话的会话信息。但是我的问题不是代码。
我的问题是,是否有任何配置或设置在 google OAuth或Odoo 8中设置,允许用户同时拥有多个会话或者是否存在设置使用谷歌OAuth与Odoo,我需要知道吗?
任何想法都会非常有用,因为我已经在这方面苦苦挣扎了几天。谢谢!
答案 0 :(得分:0)
我为Odoo V9构建了一个模块。没有这个模块,Odoo只保存一个令牌。但是当你在多台计算机上使用odoo时,你会为每台计算机使用一个令牌。
默认情况下,odoo不支持多令牌。您需要修改模块auth_oauth的代码。
使用此模块可以保存所有令牌,就像您可以进行多重连接一样。
您可以下载并安装此模块:https://github.com/IguanaYachts/auth_oauth_multi_token.git
class ResUsers(models.Model):
_inherit = 'res.users'
oauth_access_token_ids = fields.One2many('auth.oauth.multi.token', 'user_id', 'Tokens', copy=False)
oauth_access_max_token = fields.Integer('Number of simultaneous connections', default=5, required=True)
@api.model
def _auth_oauth_signin(self, provider, validation, params):
res = super(ResUsers, self)._auth_oauth_signin(provider, validation, params)
oauth_uid = validation['user_id']
user_ids = self.search([('oauth_uid', '=', oauth_uid), ('oauth_provider_id', '=', provider)]).ids
if not user_ids:
raise openerp.exceptions.AccessDenied()
assert len(user_ids) == 1
self.oauth_access_token_ids.create({'user_id': user_ids[0],
'oauth_access_token': params['access_token'],
'active_token': True,
})
return res
@api.multi
def clear_token(self):
for users in self:
for token in users.oauth_access_token_ids:
token.write({
'oauth_access_token': "****************************",
'active_token': False})
@api.model
def check_credentials(self, password):
try:
return super(ResUsers, self).check_credentials(password)
except openerp.exceptions.AccessDenied:
res = self.env['auth.oauth.multi.token'].sudo().search([
('user_id', '=', self.env.uid),
('oauth_access_token', '=', password),
('active_token', '=', True),
])
if not res:
raise
答案 1 :(得分:-1)
如果您按照上述步骤操作,则可以通过OAuth模块使用OpenERP成功配置Google Apps(Gmail)。我唯一缺少的是我在YouTube视频中找到的额外步骤;你必须:
- Youtube视频,展示了如何使用Google在OpenERP中登录:http://www.youtube.com/watch?v=A-iwzxEeJmc
如果配置Oauth2和odoo,请参阅此链接以获取更多详细信息
https://odootricks.wordpress.com/2014/09/18/setting-up-google-apps-authentication-for-odoo/