(釘釘)第三方WEB網站掃碼登錄


年底在做釘釘和公司的知識庫產品的對接,怎么使用釘釘api的如下:
第一步:
登錄:https://oa.dingtalk.com/#/welcome
這點可以自己建立一個企業賬號進行測試



點擊工作台建立應用



設置





參數說明:
1.應用logo:....
2.應用名稱:必填
3.AgentID:自動生成,手機app自動登錄需要使用
4.功能介紹:....
5.后端地址:訪問api的接口地址
6.首頁地址:改應用首頁地址
7.pc版首頁地址:登錄頁面地址


第二步
掃碼登錄的js引入和api調用

釘釘官網api地址:https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Dc2Nel&treeId=385&articleId=104882&docType=1

使用
1.引入
<script src="//g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>


//聲明釘釘二維碼參數包括【掃描授權id、企業id】
	var ding={"appid":"","agentid":"","corpid":"","uri":"","redirect_uri":"","code":"","accesstoken":""};
	//1.5.1.設置掃描授權id
	ding.appid="";
	//1.5.2.設置重定向地址
	ding.redirect_uri="";
	//1.5.3.掃碼觸發跳轉釘釘接口地址
	ding.uri = "https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid="+ding.appid+"&response_type=code&scope=snsapi_login&state=STATE&redirect_uri="+ ding.redirect_uri;
	

	
	
	//2.2.掃碼觸發事件
	var obj = DDLogin({
		id:"login_container",
		goto: encodeURIComponent(ding.uri),
		style: "border:none;background-color:#FFFFFF;",
		width : "240",
		height: "300",
	});
	
	//2.3.獲取code
    var getcode = function (event) {
        var origin = event.origin;
        console.log("origin", event.origin);
        if( origin == "https://login.dingtalk.com" ) { //判斷是否來自ddLogin掃碼事件。
            var loginTmpCode = event.data; //拿到loginTmpCode后就可以在這里構造跳轉鏈接進行跳轉了
            ding.code=loginTmpCode;
            console.log("獲取到code", loginTmpCode);
            window.parent.postMessage(loginTmpCode,'*');
            //1.跳轉到主頁面,微應用自身截取code比對用戶信息
             var redirect_uri_check = "https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=dingoazjmclpvolnxq3wba&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=http://&loginTmpCode=";
           	window.location.href=redirect_uri_check+loginTmpCode;
        };
	};
	//2.4.釘釘掃碼監聽
	if (typeof window.addEventListener != 'undefined') {
	    window.addEventListener('message', getcode, false);
	} else if (typeof window.attachEvent != 'undefined') {
	    window.attachEvent('onmessage', getcode);
	};
	//2.5.這兒主要是獲取code,返回釘釘id,進行后端的釘釘id比對,api接口見下
	var url = window.location.search.split("&"); 
	var code=url[0].substring(url[0].lastIndexOf("=")+1);
		console.log(code);
		if(code!=""){
			var uri="/"
			$http({
				url:uri,
				method:"GET",
				headers : {'Content-Type' : 'application/x-www-form-urlencoded'}
			}).success(function(data){
				console.log(data)
				if(data!=""){
						$window.localStorage["user"] = angular.toJson(data[0]);
						window.location.href="/";
					}else{
						alert(data[0].msg);
						$scope.user.info="";
						window.location.href="/";
					}
			});
	};



調用api在附件中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM