2013-04-06 17 views
0

我正在使用DotNetOpenAuth 4.0.20926並嘗試使用Db Nonce提供程序實現基於OAuth2的認證服務器。DotNetOpenAuth:想要在存儲Nonce時訪問用戶名

出於某種目的,我想在處理GetToken請求時訪問NonceStore的StoreNonce函數中的用戶名。 我沒有辦法在該調用中檢索用戶名。

我該如何解決這個問題?


嘿安德魯感謝您的回覆和DotNetOpenAuth。

我爲gettoken方法是這樣的

public ActionResult Token() 
    { 
    string userName = ""; 
    //Want to fetch username here 
    //Using username here 
    var result = this.authorizationServer.HandleTokenRequest(this.Request); 
    return result.AsActionResult(); 
    }   

而且我想打電話HandleTokenRequest之前獲取的用戶名。
是否有任何Message Parser或Helper方法從請求數據/代碼值中獲取用戶名。

+0

您想要使用用戶名的點不太可能。由於對Token端點的請求來自客戶端應用程序,因此沒有與HTTP請求直接關聯的*用戶*。某些授權許可進入,並且在那裏*可以是授權用戶名,但是您需要解密授權授權以發現它(並首先驗證它)。在我可以提出建議之前,我需要知道您使用的是什麼。 – 2013-04-27 18:01:07

回答

1

正如您所看到的,界面不會將用戶名傳遞給StoreNonce方法。因此,在實例化INonceStore實例並將其先傳遞給該nonce存儲區之前,以便稍後在調用StoreNonce時,您可能可以獲取用戶名的唯一方法就是發現它的第一個實例。知道用戶名。

這就是說,我相信存儲和檢查隨機數的任何設計都需要用戶名需要重新考慮。不僅它是混合的問題,否則應該保持獨立,你可能會限制自己前進甚至引入安全漏洞。

+0

我已經更新了這個問題,請幫忙... – 2013-04-10 16:32:20