[英]REST API URI design conventions
我遇到一種情況,我想限制某些API僅用於服務器之間的調用,而其余的API可以直接從Web瀏覽器中調用。 所有API仍應在Internet上可用。 對於這種情況最好的方法是什么?
http://secureapi.myserver.com/v1/resources和http://api.myserver.com/v1/resources
要么
http://api.myserver.com/secure/v1/resources和http://api.myserver.com/common/v1/resources
要么
http://api.myserver.com/v1/resources具有基於用戶代理的檢查以識別呼叫者
一個更好的建議將不勝感激。
如果您希望僅服務器端的API實際上只能從服務器端訪問,則必須實現適當的訪問控制模型。 讓您的API客戶端使用其HTTP請求提交Authorization
標頭,以便服務器可以准確地區分受信任的服務器端調用方和網絡上的瀏覽器。
不要依賴諸如用戶代理字符串之類的可惡事物。 默默無聞就是安全,保證以后會咬你。
只要記住您的以下兩個願望即可:
我想限制一些僅用於服務器到服務器調用的API
和
所有API仍應在Internet上可用。
是為您的API設計正確的安全認證層的原因。
使用跨域請求(CORS)機制。 在您的REST API上配置它以使用CORS。
此處的更多信息:
http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.