第5节--集成钉钉消息,点击钉钉消息如何免登进入业务系统

前端通过钉钉企业ID获取授权码,然后传给后端。后端利用授权码调用钉钉SDK获取用户信息,若用户与业务系统关联,则进行session处理。消息模板配置点击链接,通过URL编码的重定向URL,前端解析后获取cropId以获取授权码,进而调用后端免登接口直接进入业务系统。
摘要由CSDN通过智能技术生成

如何根据授权码直接进入业务系统?

1 由前端根据钉钉企业id去获取钉钉用户授权码。传递服务端(后端),服务端根据授权码去调钉钉接口,如果发现该用户的钉钉id和业务系统的某个用户有关联关系,服务端进行seesion处理。具体可以看文档交互。

大概所有接口: 前端获取授权码。前端调用后端免登接口(参数:授权码,钉钉企业id等),后端调用钉钉SDK根据授权码获取用户信息,session处理。

点击消息免登实现?

消息模板需要配置链接点击页,笔者配置的页面为
dingtalk://dingtalkclient/action/openapp?corpid=${corpId}&container_type=work_platform&app_id=${appId}&redirect_type=jump&redirect_url=${url}

${corpId}  ${appId}  可以调用消息模板发送工作消息赋值, {url} 赋值,重定向地址 一定要 urlencode编码

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class DingTalkRedirectURLEncoder {
    public static void main(String[] args) {
        String redirectURL = "https://example.com/redirect";
        String encodedURL = encodeRedirectURL(redirectURL);
        System.out.println("Encoded URL: " + encodedURL);
    }
    
    public static String encodeRedirectURL(String redirectURL) {
        try {
            return URLEncoder.encode(redirectURL, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            // 处理编码异常
            e.printStackTrace();
        }
        return null;
    }
}

  这样在工作台,打开消息进入的是配置的前端处理逻辑页面,前端获取重定向地址中的cropId ,去调用用户授权码,再去调用后端免登接口,实现直接进入业务系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值