【Go!帶你探索 FIDO2 資安技術全端應用】Day 11 - 定義 WebAuthn API Request 和 Response body
在昨天,我們已經寫好的 API Route,今天我們要來定義 WebAuthn API 的 Request 和 Response body
定義 WebAuthn API Request 和 Response body
這邊我們參考 FIDO Alliance Conformance Test Tools API Documentation 來定義 body 內容
建立 api model 資料夾
我們先在 source code 資料夾建立一個 api
資料夾,來存放下面要定義的 api model 並在資料夾中新增 attestation.go
、 assertion.go
和 common.go
三個檔案,package 都是 api
▲ 建立 api model 資料夾
那麼該怎麼將 WebAuthn API Spec 轉換成 Go 的 struct 物件呢?讓我們接著看下去
WebAuthn Registration
Credential Creation Options (對應到 attestation.go
)
▲ 圖截自 FIDO Alliance Conformance Test Tools API Documentation
轉換成 Go struct 物件後會長得像上面這樣
Authenticator Attestation Response (對應到 attestation.go
)
▲ 圖截自 FIDO Alliance Conformance Test Tools API Documentation
轉換成 Go struct 物件後會長得像上面這樣
WebAuthn Authentication
Credential Get Options (對應到 assertion.go
)
▲ 圖截自 FIDO Alliance Conformance Test Tools API Documentation
轉換成 Go struct 物件後會長得像上面這樣
Authenticator Assertion Response (對應到 assertion.go
)
▲ 圖截自 FIDO Alliance Conformance Test Tools API Documentation
轉換成 Go struct 物件後會長得像上面這樣
Common (對應到 common.go
)
因為有共用的 struct 物件,所以將他們寫在 common 裡面
▲ 圖截自 FIDO Alliance Conformance Test Tools API Documentation
轉換成 Go struct 物件後會長得像上面這樣
參考資料
今天將 WebAuthn API 的 Request、Response body 定義好之後,明天就可以來繼續實作了~