Odoo集成Authing完成单点登录

介绍:

  • 通过在 Odoo 中配置 OAuth 2.0 集成「使用 Authing 登录」从而完成对 Odoo 的单点登录;
  • 自研系统直接通过 Authing 的 SDK 集成,将 Authing 作为身份中台向各个业务系统分发身份;
  • Authing官网: Authing官网
  • Github模块地址:https://github.com/suxuefeng20/odooExtModel

集成效果:

tu1.png

tu2.png

安装流程:

1.在 Authing 中创建 OAuth 应用

如果你还没有 Authing 账号,请到 authing.cn/login 中注册一个账号,注册完成后按照以下流程完成一个 OAuth 应用的创建。

依次点击第三方登录 -> OAuth 应用 -> 创建 OAuth 应用开始创建,如下图所示:

authing1.png

点击后会弹出如下对话框:

authing2.png

1. 应用名称,必填,用户会在登录页面看到此应用名称;

2. 认证地址,必填,一个 *.authing.cn 的二级域名,用户将访问此网址进行登录;

3. 回调 URL必填,回调到开发者自己业务的地址,此处请填写:

  http://<您的 Odoo="" 网站域名="">/auth_oauth/oea;http://<您的 Odoo="" 网站域名="">/auth_oauth/signin;

4. 授权模式,必填,该 OAuth 应用支持的授权模式,此处请勾选「implicit」模式

示例:

authing3.png

创建完成后会获得应用密钥,如下所示,请保管好此信息,在odoo配置中会用到

authing4.png

2.下载Authing模块并安装

1).登录Odoo服务器,安装AuthingSDK

pip3 install authing

2).将模块下载后上传到你的Odoo模块文件夹下。

github地址:https://github.com/suxuefeng20/odooExtModel

图中标识为 Authing模块:

github1.png

github2.png

3). SDK和模块都正常安装和上传后,用你熟悉的方式重启odoo服务

4). 安装authing_login模块

  • 刷新应用列表
  • 搜索authing_login模块
  • 安装或升级模块

odoo1.png

也可点击详细查看模块信息:

odoo2.png

3.功能演示

分配权限:由于系统登录属于系统重要的部分,只建立了管理员权限,可根据用户分配authing的管理权限。如图:

odoo3.png

分配权限后刷新浏览器或重新登录后生效。不出意外,你的主界面应该有authing图标了:

odoo4.png

A: 配置authing参数

odoo主界面 —> Authing --> 配置 --> 常规设置

odoo5.png

APPID对应Authing-->第三方登录 --> OAuth应用中的APP ID:

authing10.png

用户池ID和秘钥对应 Authing-->基础配置-->基础设置中的用户池信息

authing11.png

填写完成后并勾选启用,点击左上角保存按钮生效

B、设置用户的权限

由于在authing中的用户在odoo系统中不存在,当需要获取authing用户到odoo系统中时,
会给这些用户分配默认的权限。若不配置的话,那么系统会在创建用户时使用默认的用户方案。

C、同步Authing中的所有用户

点击Aauthing应用中的用户管理 --> 获取用户列表

user_get1.png

user_get2.png

点击确认后会自动从Authing中获取所有的用户到odoo中,并且自动刷新页面。

user1.png

D、现在你可以使用Authing进行登录了

  • 试试进入登录界面、选择Authing登录
Last modification:February 26th, 2020 at 05:00 pm
If you think my article is useful to you, please feel free to appreciate