C 實現釘釘企業應用鑑權

2021-08-21 06:25:03 字數 1907 閱讀 5934

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 後...