1
比方說,我有一個設備將連接到服務器,並通過API註冊/傳輸數據。API設計;行動端點
據我所知,你會喜歡的東西:
GET: api/devices
GET: api/devices/:id
POST api/devices
DELETE: api/devices/:id
這些都是典型的CRUD端點的例子。
但是我在哪裏添加端點以檢查這個設備是否被允許連接到它的工廠ID?
我正在考慮總是以設備ID的形式傳遞一個API密鑰的帖子字段,但這會混淆HTTP動詞。
因此,我認爲最好的辦法是增加一個參數是這樣的:
GET: api/devices/:id?id=something
但是,這將成爲多餘的與此終結點。
所以問題是,我將如何成功識別我自己的設備?
是的,基本上可以歸結爲此。我想我覺得它有點不同,因爲我沒有在尋找典型的API密鑰/祕密系統,因爲我自己對客戶端進行編程。但是,謝謝,我會看看那些! –
@NathanPrins即使你自己設計客戶,他們可能會遇到類似的模式,而其他人已經遇到過;)爲這些東西重新使用現有的標準可能會給你帶來更多好處,例如因爲必須編寫更少的代碼或依賴別人的文檔。 – Evert
是的,我認識到這一點,那是程序員工作的一半哈哈。但在這種情況下,大多數API要求你註冊一個應用程序,你會收到一個祕密,你使用的應用程序名和密碼進行身份驗證。但在這種情況下,我不希望人們必須註冊他們自己的設備,但我希望這些設備從「工廠」中持有某個密鑰,這表明他們實際上是合法的客戶,而不是第三方。這不是固定與基本,摘要等還是我錯過了什麼? –