關於您的需求「我很想驗證用戶是否在使用我的Windows 8應用程序,而不僅僅是使用Fiddler的一些'黑客'。」,我不確定您會如何保護您的應用程序想要嘗試以不同的方式使用應用程序,該方法會找到自己的方式,如果您認爲使用ACS或LiveSDK可以增加任何安全性,我不這麼認爲。
ACS或LiveSDK服務是驗證特定用戶的方法,然後允許他們使用您的應用程序。一旦將認證令牌提供給您的應用程序有關特定用戶,並且您無法保存並再次驗證該信息,則在您的應用程序中使用基於ACS/LiveSDK的身份驗證或不擁有它們之間沒有區別。這些基於oAuth的服務只是對用戶進行身份驗證的一種方式,您仍然需要編寫額外的代碼層來提供用戶特定的服務。
如果您使用ACS/oAuth /或您自己的會員服務,則無關緊要,用戶必須輸入用戶名和密碼才能獲得經過身份驗證的時間。根據登錄時間和類型,您可以將用戶活動時間保持x秒,但會話將過期,用戶必須輸入用戶名和密碼。本地存儲用戶名和密碼以避免再次輸入憑據不是一個好的應用程序設計。
現在關於您的第一個問題,您應該使用LiveSDK(而不是Azure ACS)來驗證Live(Hotmail,Live,Skydrive和Outlook域)用戶,因爲在Windows 8中,大多數服務都使用這些ID,這些將幫助您的應用程序成爲同一生態系統的一部分。您可以使用this latest doc在您的應用程序中使用Live SDK。如果您將在Windows 8應用程序中使用Live SDK,並且用戶在Windows 8上爲其他應用程序使用相同的實時ID並在應用程序之前登錄,則應用程序已經擁有實時會話以使用它,具體取決於Live ID和應用程序設置。
關於第二個問題「加密並存儲用戶的登錄詳細信息以防止用戶每次都輸入登錄詳細信息?」我不確定你爲什麼需要它。首先沒有oAuth服務會爲您提供除用戶名以外的用戶登錄憑證,只有您可以保存才能驗證用戶,如果他再次訪問並且您可以使用它來確保它是合適的用戶。您必須將此信息存儲到雲中,然後一旦通過身份驗證,就可以做任何你想做的事情。
由於您的應用程序在Windows 8上,並且您希望使用Microsoft帳戶,您是否考慮過直接使用Live SDK? Michael Crump在http://www.silverlightshow.net/items/Using-the-Live-SDK-in-Windows-8-XAML-C-Metro-Applications.aspx上有關於將Live SDK與WinRT應用程序集成的文章 –