因此,我創建了多個REST API,並且希望爲所有這些服務提供單個auth服務器(API),以避免在每個新應用程序上創建多個登錄。用於多個API的Auth服務器
什麼技術最適合這個?一個oauth服務器?
我還希望它能夠根據API分離用戶,並在需要時共享。但總是讓這個單一的auth服務器做它的事情,所以我不必每次都創建單獨的登錄系統。
我還需要對使用API密鑰獲取數據的機器進行「非用戶輸入」訪問。但我想用戶只需要一個接口來生成第一個消費者密鑰,然後在他們的應用中使用它。基本上沒有到期的令牌?
我設想的流程是這樣的:
- API使用者調用它調用驗證API對用戶進行授權,並返回一個訪問令牌和訪問令牌存儲在資源API的一個API代理服務器
- API消費者調用現在調用資源服務器的API代理,檢查有效的訪問令牌並返回數據,但是這次它不調用Auth API,因此我不必在內部對每個請求進行兩次調用。
這是一個很好的方法嗎?
除此之外,我需要使用API的實際網站不需要用戶登錄/交互,除非瀏覽以某種方式訪問API,否則oauth仍然可以這樣做?我如何在API上驗證自己的公共應用程序/網站?我是否應該預先創建沒有過期日期的oauth訪問令牌?
我不打算用戶登錄Facebook,谷歌賬戶等。我只想爲我的公司用戶在多個服務和API消費者登錄存儲在一個地方的全球登錄。
Oauth,SSO/CAS?