钉钉免登陆后端node操作步骤

登陆钉钉开发平台获取corpid 和corpsecret

获取access_token

/*
    获取access_tocken
    params:
        corpID
        corpSecret
  */
function getAccess_token(){
	axios.get('https://oapi.dingtalk.com/gettoken', {
	  params: {
	    'corpid': DD_CORPID,
	    'corpsecret': DD_CORPSECRET
	  }
	}).then((resp) => {})
}

获取 ticket

/*
    获取ticket
    params:
        access_tocken
  */
function getTicket(access_token){
	axios.get('https://oapi.dingtalk.com/get_jsapi_ticket', {
	  params: {
	    'access_token': access_token
	  }
	}).then((resp) => {})
}

获取签名信息

/*
    获取签名
    params:
        ticket:签名数据
        nonceStr:签名用的随机字符串	通过uuid.v1()获取唯一的随机字符串
        timeStamp:生成签名用的时间戳	 Date.parse(new Date())
        url:当前请求的URL地址   -- 前端提供
 */
function getSign(ticket, noncestr, timestamp, url){
  	let str = 'jsapi_ticket=' + ticket + '&noncestr=' + noncestr + '×tamp=' + timestamp + '&url=' + url;
    //  sha1(str) --> 对str进行sha1加密
    let signature = sha1(str);
    return signature;
  }

获取用户信息

 /*
	获取用户信息
 	params
  	 	code: 	// 前端通过调用钉钉相关内容获取到传给后端
   		access_token
*/
function getUserInfo(){
	axios.get('https://oapi.dingtalk.com/user/getuserinfo', {
      params: {
        'access_token': access_token,
        'code': code
      }
    }).then((resp) => {})
}

获取用户详细信息

/*
 获取用户详细信息
 params
   access_token
   userid   获取用户信息获得
*/

function getUserDetailInfo(){
	axios.get('https://oapi.dingtalk.com/user/get', {
       params: {
         'access_token': access_token,
         'userid': userid
       }
     }).then((resp) => {})
}

你可能感兴趣的:(钉钉,后端学习)