开发者社区 问答 正文

不同单位使用钉钉扫码登录第三方网站,并且登录成功后发送消息通知给用户

这个文档我看过了,还是无法解决我的疑惑,希望大神指条路。

问题1:扫码登录需要在移动接入应用中创建应用授权,不同的单位扫码登录都要在后台这里进行创建扫码登录应用授权,也就是说我想要让不同单位都能扫码登录需要在不同单位的后台进行创建登录应用授权,这个处理量有点大了吧,有没有好的建议。

image.png

问题2:不同单位创建扫码登录应用授权,会产生不同的appid和appkey,获取用户信息需要使用appid和appkey,appid和appkey不能动态获取,也就是说我需要登录各个单位的后台把他们的appid和appkey收集起来,这个有没有好的方法?

image.png

问题3:发送通知消息必须使用agentId,而扫码登录应用授权里面只有appid和appSecret,没有agentId,我该怎么做才能在登录后发送通知消息?

展开
收起
游客3ypfjhik6hgiw 2019-04-26 10:15:01 4204 分享 版权
阿里云 AI 助理回答

针对您的问题,我理解您正在尝试实现一个系统,允许不同单位的用户通过扫码登录,并在登录后能够发送通知消息。这里有几个建议和解决方案:

问题1:大量单位的扫码登录应用授权创建

确实,如果每个单位都需要单独创建应用授权,管理起来会非常繁琐。一种优化方式是设计一个中心化管理系统,在这个系统中,您可以为所有单位创建一个统一的应用,但通过不同的参数(如单位ID)来区分不同单位的用户。这样,只需要维护一个应用授权即可。在用户扫码时,通过URL或二维码携带单位标识,后台根据这个标识处理登录逻辑。

问题2:收集appid和appkey的问题

既然直接管理每个单位的appid和appkey变得复杂,可以考虑采用API网关或者微服务架构中的配置中心来集中管理这些敏感信息。例如,使用阿里云的EDAS(企业级分布式应用服务)或ACM(应用配置管理)来存储和分发配置。这样,当有新的单位加入时,只需在配置中心添加相应的appid和appkey,而无需硬编码到各个服务中,也便于后续的管理和更新。

问题3:如何获取agentId以发送通知消息

通常,agentId与企业的某个内部应用关联,用于发送工作通知。在钉钉开放平台中,agentId需要预先配置并获取。为了在扫码登录后能发送通知消息,您可以在用户扫码登录成功后,通过用户的所属单位信息,在后端查询该单位对应的agentId。这要求您有一个数据库或配置中心存储每个单位的appidappSecret以及对应的agentId

具体步骤如下: 1. 统一认证入口:建立一个统一的认证服务,扫码登录时,通过单位标识识别单位。 2. 动态获取配置:登录成功后,根据单位标识从配置中心或数据库获取对应的agentId。 3. 发送消息:利用获取到的agentId,结合用户的userid或其他必要参数,调用钉钉API发送通知消息。

综上所述,通过构建一个中心化的管理系统和利用云服务进行配置管理,可以有效简化多单位扫码登录及消息推送的复杂度。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答