1
我想在ASP.NET MVC應用程序中使用DotNetOpenAuth與LinkedIn API進行交互。爲了從我的數據庫中持久存取令牌,我需要在我的服務層中實現IConsumerTokenManager。目前我正在檢索令牌祕密訪問令牌(不是請求令牌)是這樣的:在DotNetOpenAuth中實現IConsumerTokenManager
public string GetTokenSecret(string token)
{
// Retrieves token secret from database based on the user's username
string tokenSecret = _db.LinkedInAccounts.GetTokenSecret(HttpContext.Current.User.Identity.Name);
return tokenSecret;
}
,因爲我有參考的System.Web和HttpContext的在我的服務層這種感覺很髒。我真的不想這樣做,但我無法確定另一種檢索訪問令牌的方式。我可以使用訪問令牌像這樣只是檢索:
string tokenSecret = _db.LinkedInAccounts.GetTokenSecret(token);
但我不能完全肯定,如果訪問令牌將是獨一無二的,以及如何在有成千上萬的訪問令牌的存儲,這將影響數據庫的性能。
這是第二種方式,還是有更好的選擇?我真的不想在服務層中引用System.Web。
謝謝!
更新:如果任何人遇到類似問題,我最終將用戶名作爲構造函數參數注入到使用Ninject實現的IConsumerTokenManager中。