大数跨境
0
0

钉钉工作台免密直登Odoo系统?这样实现!

钉钉工作台免密直登Odoo系统?这样实现! AI实践工程院
2022-04-28
0
导读:打造更便捷的系统~



Odoo 

神州数码云基地

在 Odoo 上的尝试、调研与分享


本期作者

许文博

一名致力于

探索技术美与生活美的开发


上一期和大家分享了如何实现用企微扫码快速登录Odoo系统原文链接:“史上最快”登入指南:Odoo系统如何实现企微扫码登录】钉钉作为另一个日常办公中的便捷效率工具,在Odoo为我们提供各种丰富模块系统时,与Odoo之间又能产生什么样的化学反应?

今天给大家介绍如何通过Odoo钉钉连接器架起两者之间的桥梁,实现钉钉扫码登陆 Odoo系统,同时实现通过钉钉工作台免密登录直接进入Odoo系统!



 #1 实现功能 


1.钉钉组织用户扫码登录Odoo,节省 Odoo 用户的维护成本。



2.免密码快速登录钉钉工作台应用,方便用户便捷操作使用Odoo系统。




 #2 环境配置 


1.一台外网能访问的服务器并配置域名,如果想本地调试可使用相关工具进行内网穿透,这样钉钉才能回调到 Odoo以及请求到首页,我这里可以推荐钉钉的内网穿透工具:https://open.dingtalk.com/document/resourcedownload/http-intranet-penetration


2.Odoo 系统配置文件 odoo.conf 必须指定 db_name 数据库名称或者有且仅有一个数据库


3. 钉钉管理后台权限。




 #3 实现步骤 


 应用模块安装 


钉钉连接器(dingtalk_connector)应用模块安装,在应用中搜索钉钉点击安装即可。

(如果搜索不出来点击页面中更新按钮更新应用)



 Odoo应用配置钉钉平台系统参数 


在设置-钉钉中配置参数,如下图所示:

相应参数都可以在钉钉管理后台配置查询找到具体参数对应如下:

应用跳转url:该参数需要在钉钉开发平台以及odoo连接器中同步配置



 钉钉开放平台参数配置 


 Odoo应用配置钉钉用户Id 


首先需要调用钉钉获取用户Id的接口获取用户的钉钉Id,并将用户Id填写至设置-管理用户-用户详情


 应用代码改造 


#step1


模型继承res.config.settings构建钉钉配置参数相关字段以调用钉钉api以及跳转地址:


#step2


继承res.users构建用户钉钉id以及定义用户身份认证方法以实现用户身份认证




#step3


登录接口适配:


· 扫码登录页面接口,读取设置中配置好的参数以跳转至钉钉的扫码页

· 钉钉免登接口适配

以上两个接口都需要请求auth接口以认证用户,auth接口中调用了钉钉api获取user_id且重写了用户身份认证以适配扫码登录和免密登录,需要注意的是不同api需要的accessToken不一定一致:



以上就是钉钉连接器的实现方法

不妨试试看~

下面就和大家分享一下钉钉的API文档!


 #4 API开发资料 





如何调用服务器 api :钉钉开放平台-应用开发-服务端-开发指南

https://open.dingtalk.com/document/orgapp-server/how-to-call-apis


API总览:钉钉开放平台-应用开发-服务端-API总览

https://open.dingtalk.com/document/orgapp-server/api-overview


获取用户token:钉钉开放平台-应用开发-服务端-获取访问凭证-新版服务端api-获取用户个人身份访问凭证-获取用户token

https://open.dingtalk.com/document/orgapp-server/obtain-user-token


获取通讯录个人信息:钉钉开放平台-应用开发-服务端-通讯录管理-新版服务端api-获取用户通讯录个人信息

https://open.dingtalk.com/document/orgapp-server/dingtalk-retrieve-user-information


据unionid获取用户userid钉钉开放平台-应用开发-服务端-通讯录管理-服务端api-用户管理

https://open.dingtalk.com/document/orgapp-server/query-a-user-by-the-union-id


获取企业内部应用的access_token:钉钉开放平台-应用开发-服务端-获取企业内部应用的access_token

https://open.dingtalk.com/document/orgapp-server/obtain-orgapp-token


通过免密码获取个人信息:钉钉开放平台-应用开发-服务端-身份验证(免登)-服务端API-通过免登码获取用户信息

https://open.dingtalk.com/document/orgapp-server/obtain-the-userid-of-a-user-by-using-the-log-free


企业内部应用免登:钉钉开放平台-应用开发-服务端-身份验证(免登)-企业内部应用免登

https://open.dingtalk.com/document/orgapp-server/enterprise-internal-application-logon-free


实现登录第三方网站:钉钉开放平台-应用开发-服务端-身份验证(免登)-实现登录第三方网站-服

https://open.dingtalk.com/document/orgapp-server/tutorial-obtaining-user-personal-information




钉钉连接器的应用会极大提升办公效率,通过应用和平台自由切换系统也省去了不少麻烦~

如果你还有什么疑问,或者说有更好的想法,欢迎与我们共同探讨呀!



扫描下方二维码,

加入群聊,关于Odoo你想了解的全都有!





 #更多精彩内容 



【声明】内容源于网络
0
0
AI实践工程院
我们致力于用数字技术重构企业价值,助力企业实现数字化转型升级。
内容 434
粉丝 0
AI实践工程院 我们致力于用数字技术重构企业价值,助力企业实现数字化转型升级。
总阅读159
粉丝0
内容434