应用场景:
项目中使用了钉钉的定位功能,故需要钉钉签名。
参数说明:
- ticket 参照官方文档生成ticket
https://open.dingtalk.com/document/orgapp-server/obtain-jsapi_ticket - nonceStr 自定义字符串
- timeStamp 时间戳 time()
- url 调用dd.config的当前页面的url
代码实现:
public function getSign($ticket, $nonceStr, $timeStamp, $url) : string
{
Log::debug('enter:', ['ticket' => $ticket, 'nonceStr' => $nonceStr, 'timeStamp' => $timeStamp, 'url' => $url]);
$sign = sha1('jsapi_ticket=' . $ticket .
'&noncestr=' . $nonceStr .
'×tamp=' . $timeStamp .
'&url=' . $url);
Log::debug('exit :', ['return' => $sign]);
return $sign;
}