钉钉H5微应用pc端鉴权 PHP版

public  function index(){
        $timeStamp=time();//当前时间,但是前端和服务端进行校验时候的值要一致。
        $url="**";//当前网站域名
        $signature=$this->sign($this->jsapi_ticket,$this->config['nonceStr'],$timeStamp,$url);
        $result =[
                'agentId'=>$this->config['AgentId'],
                'corpId'=>$this->config['corpId'],
                'timestamp'=>$timeStamp,
                'nonceStr'=>$this->config['nonceStr'],
                'signature'=>$signature,
                'type'=>0
        ];
       $this->assign('result',$result);
       return $this->fetch();
    }
public  function sign($jsticket, $nonceStr, $timeStamp, $url){
    $content = "jsapi_ticket=" . $jsticket . "&noncestr=" . $nonceStr . "&timestamp=" . $timeStamp . "&url=" . urldecode($url);
    $signature = hash("sha256", $content);;
    return $signature;
}

前端:

 
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.10.3/dingtalk.open.js"></script>
<script>
    dd.config({
        agentId: "{$result.agentId}", // 必填,微应用ID
        corpId: "{$result.corpId}",//必填,企业ID
        timeStamp: "{$result.timestamp}", // 必填,生成签名的时间戳
        nonceStr: "{$result.nonceStr}", // 必填,自定义固定字符串。
        signature: "{$result.signature}", // 必填,签名
        type:0,   //选填。0表示微应用的jsapi,1表示服务窗的jsapi;不填默认为0。该参数从dingtalk.js的0.8.3版本开始支持
        jsApiList : [
            'runtime.info',
            'biz.contact.choose',
            'device.notification.confirm',
            'device.notification.alert',
            'device.notification.prompt',
            'biz.ding.post',
            'biz.util.openLink',
        ] // 必填,需要使用的jsapi列表,注意:不要带dd。
    });
</script>

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值