首页 智能尺子 智能文具 文具资讯 尺子制作 尺子图片 文具品牌 推荐 关于我们

利用钉钉通讯录同步构建本地LDAP服务

2024-12-30

操做钉钉通讯录同步构建原地LDAP效劳

2020-10-31 7275

版权

版权声明:

原文内容由阿里云真名注册用户自觉奉献,版权归本做者所有,阿里云开发者社区不领有其著做权,亦不承当相应法令义务。详细规矩请查察《 阿里云开发者社区用户效劳和谈》和 《阿里云开发者社区知识产权护卫指引》。假如您发现原社区中有涉嫌抄袭的内容,填写 侵权赞扬表单停行告发,一经查真,原社区将即时增除涉嫌侵权内容。

简介: 目前钉钉曾经成为不少企业日常办理流程的必备工具,但是由于钉钉并无开放鉴权接口,无奈让钉钉做为原地系统的统一鉴权系统运用,每次有同事参预大概分隔时,都须要酬报的对原地系统停行维护,很是繁琐。这么有没有一种办法可以让钉钉做为原地的统一鉴权系统运用呢?

目前钉钉曾经成为不少企业日常办理流程的必备工具,但是由于钉钉并无开放鉴权接口,无奈让钉钉做为原地系统的统一鉴权系统运用,每次有同事参预大概分隔时,都须要酬报的对原地系统停行维护,很是繁琐。这么有没有一种办法可以让钉钉做为原地的统一鉴权系统运用呢?

目前,正在咱们公司运用OpenLDAP效劳做为各个效劳统一鉴权的入口,运用的使用系统蕴含:Gerrit/Jenkins/Yapi/Wiki/进度跟踪等,目前所有的系统都撑持LDAP鉴权,所以假如能将钉钉的通讯录按期同步至LDAP中就可以真现统一鉴权的需求。但是由于钉钉的暗码无奈同步回原地,所以暗码层面依然是独立的。

原文章的真现思路参考了[《基于钉钉 + xirtual-LDAP + KeyCloak 的内网统一认证系统
》](hts://Vujiweiss/blog/2020/02/internal-authorize-based-on-dingtalk-ZZZirtual-ldap-keyclaok/),感谢本做者的思路及奉献的ZZZirtual-ldap模块,原文所有的劣化都是基于此文章根原上停行的劣化。

真现思路

简略来说,咱们欲望能通过钉钉供给的LDAP做为统一鉴权方式,但是由于钉钉没有开放那个才华,这么咱们须要将钉钉模拟一个LDAP效劳。模拟出的LDAP环境,正在内网环境中,咱们应付LDAP信息的运用根柢上环绕着用户名和暗码,其余的信息以钉钉为准。所以,除了开放LDAP接口外,咱们还须要供给用户界面,允许用户正在内网批改暗码。

整体的真现思路如下:

钉钉开发者平台:须要正在钉钉开发者平台新建一个步调,获与鉴权信息后,赋予通讯录同步权限,供给给xirtualLDAP停行数据同步

xirtualLDAP:该组件是上面提到的做者开发的虚拟LDAP组件,次要罪能为同步钉钉通讯录,并以LDAP和谈对外供给效劳

KeyCloak:应付那个场景过重,但是暂时没有发现更好的方案,可以触发主动同步并且可以让内网用户停行暗码批改

原地的全副系统依照LDAP配置方式便可真现鉴权

image.png

钉钉开发者平台

那里我创立的是H5微使用,配置时有几多点须要留心:

IP地址皂名单:须要为你将来运止xirtualLDAP配置会见IP皂名单,目前钉钉开发者平台应付同一个IP只能给一个使用运用,但是可以通过通配符停行配置,譬喻:192.168.10.*的方式,这么192.168.10网段所有地址均可以会见

权限:须要为该使用开放所有通讯录只读权限便可

image.png

xirtualLDAP

那是基于Node.js开发的一款组件,次要用于同步钉钉通讯录和模拟LDAP和谈。基于本做者版原,为了满足原身使用场景,停行了如下批改:

由于做者没有供给Docker运止方式,所以正在github的pull request中有人停行了改造

依然是正在同一个pull request中,删多了pinyin组件,正在LDAP中删多了一个pinyin属性,便捷业务系统运用

登录名和暗码:为了避免公司人员重复,所以出格给取了全拼称呼+电话号码后四位方式,做为惟一的用户名,而初始暗码为全名称呼+电话号码前四位,譬喻:张三的电话号码为13812345678,则登录称呼为zhangsan5678,暗码为zhangsan1381,

正在运用xirtualLDAP时,须要运用MySQL存储恒暂化数据,譬喻用户批改后的暗码,所以对鉴权规矩停行了批改,先检查数据库暗码能否婚配,再检查LDAP

真现了整体组件的编牌,删多了docker-compose.yaml,便操做户运用,该编牌文件中包孕了KeyCloak、xirtualLDAP和MySQL

KeyCloak

KeyCloak两局部须要停行配置:

打点员正在第一次运用时配置xirtualLDAP的信息,用于用户同步,便捷新用户批改暗码

新用户自止批改暗码

正如之前所说,KeyCloak罪能过于壮大,那里用到的罪能很是有限,假如有新的使用场景,接待留言。

image.png

搭建方式

那里供给了完好的编牌文件,间接运用便可完成整淘环境的快捷建设。

git clone hts://githubss/Viaoquqi/ZZZirtual-ldap cd ZZZirtual-ldap/docker-compose docker-compose up -d0 配置文件

xirtualLDAP配置文件批改。所有配置正在ZZZirtual-ldap/docker-compose/config.js中停行批改,须要批改钉钉的appKey和appSecret,以及root DN的信息,配置文件有比较具体的引见,所以那里不再赘述。

KeyCloak的默许暗码批改正在docker-compose.yaml中

登录相关信息

URL: ldap://ip:1389

ManageDN: cn=admin,dc=oneprocloud,dc=com

ManagePassword: password

User Search Base: ou=People,o=department,dc=oneprocloud,dc=com

User Search Filter: uid={0}

Display Name LDAP attribute: cn

Email Address LDAP attribute: mail

待劣化

目前应付LDAP的组没有丰裕操做,配置文件中允许创立特定组,并且通过用户email停行婚配,假如须要可以停行配置

假如有外部用户,暂时无办法停行创立,譬喻:假如须要正在LDAP中删多一个非钉钉用户暂时无奈真现,须要停行开发真现

热门文章

友情链接: 永康物流网 义乌物流网 本网站域名出售 手机靓号-号码网 抖音视频制作 AI工具 旅游大全 影视动漫 算命星座 宠物之家 两性关系 学习教育