我們有一個公共API,我們希望使用OAuth2進行保護。OAuth2 in-browser-app use授權授予,而不是隱式的
我一直在閱讀規範/文檔,但我仍然有一些關於隱式授權的問題。
我知道隱式授權用於客戶端瀏覽器內(JavaScript)的應用程序。它不太安全,因此應該限制可能性(例如只讀訪問)。另外,不應該發佈刷新令牌,並且令牌不應該長壽。
但是,阻止瀏覽器內(js)-app的創建者使用Authz授予而不是隱式授予的是什麼?作爲這種應用程序的創建者,我可以獲得更多的權限(破壞性),並獲得一個刷新令牌,在過期時可以使用它來獲取新的access_tokens。後者是理想的,因爲我不會經常錯誤地讓用戶登錄。
這當然是有問題的,因爲refresh_token,client_id和client_secret很容易被這種方式損害。
所以這個問題本質上圍繞着這個: 我如何確保僅在瀏覽器中的應用程序將只使用受限制的隱式授權?
在使用OAuth連接到我們的api之前,客戶端/開發者必須註冊client_id,callback_url和client_secret。如果我檢測到這種行爲,我可能(作爲API所有者)撤消此權限。但這意味着我將不得不手動檢查一切,並定期?
有沒有更好的方法?
謝謝,這似乎是一個很好的解決方案。將在這方面做一些額外的研究 – user3319803