我想爲我的Web應用程序提供經過身份驗證的API訪問權限。這種服務的消費者通常是其他網站/服務。授予API訪問Rails應用程序的最佳身份驗證方法
認證這些用戶的最佳方法是什麼? OAuth,openID,http認證?
我想爲我的Web應用程序提供經過身份驗證的API訪問權限。這種服務的消費者通常是其他網站/服務。授予API訪問Rails應用程序的最佳身份驗證方法
認證這些用戶的最佳方法是什麼? OAuth,openID,http認證?
正如我們的老本行,回答了這麼多是「它取決於」。 :)
HTTP認證 - 如果你已經讓客戶通過一個ID和密碼登錄到您的服務,你可能只需要做最少的工作得到這與發揮很好的API。如果你的API基本上是單用途的,並且不需要詳細的權限,那麼你可以在這裏相當快地工作。
API令牌 - 即構建與您的API進行交互的服務。如果您希望客戶能夠輕鬆地驗證不需要提供密碼(認爲公司;也許是IT部門不希望開發團隊知道密碼等),然後將一個隨機的API令牌添加到用戶帳戶可能是最快捷的方法。作爲獎勵,您可以提供一種重新生成API令牌的方法,而無需更改帳戶密碼。
的OAuth - 如果你有多個許可,或者是想要客戶端如何以及何時訪問API更細粒度的控制,OAuth是一個相當不錯的選擇(OAuth2用戶是很容易的工作與國際海事組織和支持multiple methods of obtaining an access token)。此外,許多語言都有圖書館,寶石等,可以讓他們簡化OAuth工作流程。
我會說「最好」的方法是oAuth。它更加靈活,可以獨立應用於其他用途。 我正在使用oAuth來驗證我的客戶端(應用程序)。
;「?這是最好的」)