我在使用DotNetOpenAuth
和我必須處理的特定流程中需要實現一個場景的答案時遇到了很多困難。有自己的Auth服務器的DotNetOpenAuth OpenID流
在下面的圖形中,我控制着MVC站點和API。該API既是我的授權服務器,也是我的資源服務器。
的用戶名和口令流
的處理是在用戶創建一個本地帳戶我的系統上爲我處理的用戶名和密碼credetials的情況相當明顯,以他們登錄到網站然後我可以將其傳遞給我的令牌端點,然後經過我的授權服務器的HandleTokenRequest
,以獲取令牌並刷新令牌,以便客戶端開始訪問資源。
OpenID的流量
的,我是在虧損與目前的流動是如果用戶決定使用他們的谷歌憑據(例如)登錄到我的網站。在這種情況下,我如何授予他們訪問令牌的權限,並在我的API中從我自己的授權服務器刷新令牌?
我會在我的API令牌端點的請求中包含什麼?
我已經編寫了自己的API客戶端,該客戶端繼承自作爲DotNetOpenAuth
庫的一部分的WebServerClient
類。
我看到有一個接口提供處理令牌,名爲IServiceProviderTokenManager
,但似乎在OpenID提供程序方案中使用,而不是像我的API客戶端實現,所以我假設我需要編寫自定義類用於在客戶端存儲和檢索我自己的API令牌,但是也希望確認這一點?
值得一提的是,網站和API都可以完全訪問同一個安全數據庫,但只有API可以訪問任何資源所在的數據庫。