ukey代理接口设计文档
ukey代理接口設計文檔
ukey代理的功能
作為代理,接受上層 com.deepin.daemon.Authenticate 或者其他調用方的調用,開啟指定的廠商 ukey 服務并認證,并接收廠商 ukey 認證信號,代理處理完此信號之后,發送認證信號出去,供監聽此信號的服務使用。
ukey 需要支持多設備同時認證,不一定是一個 ukey 服務的多次同時認證,也可以是多個 ukey 服務的單次同時認證。
ukey代理接口
SetDefaultDevice(string device) -> ()
設置默認的ukey服務
ConstructVerification(string serviceName,string username, bool useDefaultService) -> (string id)
設置認證相關信息,該接口返回一個唯一 id ,標識此次認證
參數說明:
serviceName: 為 ukey 服務的 serviceName
username: 為需要認證的用戶的名稱
useDefaultService: 是否使用默認的 ukey 服務, true 為是,當為 true 時, serviceName 可為空""
返回值:
id: 標識此次認證
StartVerify(string id) -> ()
開始id次認證
SetPin(string id,string pin) -> ()
給id次認證設置pin碼
StopVerify(string id)
關閉id次的認證
SetSessionPath(string id)
給 id 次認證設置這個 session 的 path ,該路徑為 org.freedesktop.login1 上的 session 路徑,可以讓 ukey 服務調用 org.freedesktop.login1.Session.Lock 來鎖屏,是否調用此接口根據ukey 接口文檔中的 Type 屬性來決定。
ukey代理邏輯
ukey 認證時,通過 authenticate proxy 的 Authenticate 調用 ukey proxy 的 ConstructVerification 方法,來設置每組認證相關的信息,在該接口中,會返回一個 id 給調用方,用來識別該次認證,隨后 authenticate proxy 會將該 id 與自身的認證組 id 進行綁定,在隨后 authenticate proxy 對 ukey proxy 的接口調用過程中,都會將認證組 id 與 ukey proxy 返回的 id 做一個轉換。
設置完每組認證相關信息之后, ukey proxy 會負責控制ukey的認證過程,其中 SetPin 接口的調用由 pam 模塊發起,隨后通過 authenticate proxy -> ukey proxy -> vendor ukey service 的流程轉發到廠商的ukey。
ukey proxy 接收ukey的認證結果信號,并將此信號轉發給 authenticate proxy , authenticate proxy 會將最終通過信號返回給pam模塊,由pam模塊給出最終的認證結果。
ukey認證前提
總結
以上是生活随笔為你收集整理的ukey代理接口设计文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: outlook发邮件的服务器,outlo
- 下一篇: MATLAB在线网页链接使用