c#實現釘釘企業應用鑑權,主要分為以下步驟:
1、鑑權-獲取access_token:
1. 在企業管理後台:
2.獲取企業的access_token。
2、鑑權-獲取jsticket:
企業應用如果配置了ip白名單,則請求網域名稱的位址必須在ip白名單裡面,且2小時之內通過介面重新請求的jsticket值都會變。如果企業沒有配置ip白名單,則2小時之內通過介面重新請求的jsticket值不會變,只是jsticket值的生命週期重新延長2小時。
通過呼叫
獲取jsticket的介面
獲取企業的jsticket。
3、鑑權-獲取簽名引數:
在前端進行免登鑑權之前,我們要先拿到一些免登鑑權的引數,主要有'url','noncestr','agentid','timestamp','corpid'
引數說明
企業url
當前網頁的url,不包含#及其後面部分
//noncestr
隨機串,自己定義
//agentid
應用的標識
編輯企業應用可以看到
timestamp
時間戳當前時間,但是前端和服務端進行校驗時候的值要一致
corpid
企業id
企業id,在上企業檢視下開發者賬號設定裡面可以看到
4、鑑權-計算簽名資訊:
在服務端通過sign(ticket, noncestr, timestamp, url)計算前端校驗需要使用的簽名資訊。
1、獲取access_token。釘釘為accesstoken提供的有效時長為7200s,在有效時間內每次請求都將自動延時,而釘釘提的要求是不允許對accesstoken進行高頻率請求。所以我們可以採用快取的方式,將accesstoken快取起來,快取時間少於7200s,即可在每次失效前再次延長。
/// /// 獲取accesstoken
///
public string getaccesstoken()
else
return ddtoken.tostring();
return "";
}/// /// 獲取accesstoken
///
else
return ddtoken.tostring();
return "";}
2、獲取jsticket。
/// /// 獲取jsapiticket
///
///
public oapigetjsapiticketresponse getjsapiticket()
*/}
3
、獲取簽名引數,
計算簽名資訊。
/// /// 登入獲取簽名
///
/// 獲取的url
/// 成功時,返回簽名資訊
[anonymousattribute]
public resultobject ddgetsign(string url)
; return new resultobject ;
} else
; }
} catch( exception ex)
; }}
4、將corpid、noncestr、timestamp、signature都返回給前端,前端進行對比鑑權即完成。
5、通過使用者code獲取使用者資訊。
/// /// 通過前端code獲取使用者資訊
///
///
///
public oapiusergetuserinforesponse getuserinfobycode(string code)
*/}
企業應用免釘流程 釘釘
前段時間公司接到乙個釘釘開發專案,在此之前小編並沒有接觸過,只能硬著頭皮看文件了,話不多說,直接上乾貨。大概流程如下 1 註冊賬號和建立第三方應用 該過程直接按照提示流程操作即可,略過 2 獲取corpid corpsecret agentid 登陸釘釘後台,corpid corpsecret獲取 ...
企業內部應用與釘釘的整合
3 先進行第一步操作,釘釘內部免密登入,這裡就不用官方文件的描述了,直接上 這裡前端使用的是vue 釘釘內部this指向問題,直接使用this不好使 var that this dd.ready function dingtalkclient client newdefaultdingtalkcli...
釘釘企業內部 H5微應用開發
公司需利用釘釘相關api完成公司內部報銷平台。建立h5微應用 登入釘釘開放平台 進入 應用開發 企業內部開發h5微應用 建立應用,並填寫基本資訊和配置開發資訊 2.jsapi鑑權api開發 1 jsapi鑑權服務端api的開發 通過accesstoken 獲取用於jsapi的臨時票據ticket 後...