2011-03-28 50 views
11

我正在研究一個應用程序,允許從Windows Phone應用程序和MVC 3 Web界面進行數據輸入和顯示。手機客戶端的數據訪問是通過MVC 3應用程序中託管的經過身份驗證的WCF服務進行的。用戶將會跟蹤他們獨有的信息,因此服務只會顯示我輸入的數據。我應該如何處理Window Phone/WCF/ASP.NET MVC應用程序的用戶身份?

在這種情況下處理身份的最簡單方法是什麼?自從phone application has access to a Windows Live Anonymous ID property以來,我想過使用Windows Live ID。但是,根據我所知,無法獲得允許基於Web的Windows Live登錄的權利,該登錄允許我使用相同的Windows Live匿名ID - Windows Live Messenger Connect login gives me a site-specific unique ID,這與電話客戶端的匿名ID不同。

或者,我可以在客戶端和手機上使用Facebook身份驗證,並使用Facebook SDK。我擔心的是確保服務電話。我在想,當設備第一次使用Facebook ID連接服務時,服務器發佈了一個密鑰,並且服務訪問需要Facebook ID和服務器發佈密鑰。

關於上述的想法?有沒有更簡單的解決方案,我錯過了?

回答

2

尊敬的Jon, 我對WP開發沒有經驗,但是我已經對WCF Auth進行了一點搜索。最近幾天,發現apiKey驗證幾乎是我最好的方式。 Rob Jacobs解釋了這篇文章的工作原理。

http://blogs.msdn.com/b/rjacobs/archive/2010/06/14/how-to-do-api-key-verification-for-rest-services-in-net-4.aspx

+0

謝謝,感謝鏈接! – 2011-03-28 22:39:04

+0

@Jon沒問題先生。即使這不是一件大事,你總是會幫助我,並樂意幫助。 – tugberk 2011-03-29 11:06:19

1

如果您需要將手機鏈接到用戶對MVC的網站,你能做些什麼NetflixAmazon做Roku公司和其他設備,並有某種的激活過程。爲了更容易,您可以使用QR碼或MVC網站生成的其他類型的條形碼,讓用戶拍攝它的照片,並使用Silverlight ZXing Barcode Scanning Library處理圖像。可能有些複雜,但它適用於所有機頂盒。

2

API Key的替代方法是使用基於聲明的身份和安全令牌。您可以將Windows Azure訪問控制服務用作安全令牌的受信任發佈者,增值功能可以將其預先配置爲使用LiveID,Facebook,Google,任何OpenID和任何WS-Federation身份提供商。網站和Web服務都會信任ACS。

ACS會爲您提供網站的SAML令牌(允許您的用戶使用LiveID,Google或FB登錄)。

ACS也可以發佈簡單網絡令牌(SWT),它對REST服務(假設電話客戶端使用該服務)特別整潔。

您不能在您的應用中使用與手機關聯的LiveID,但仍可以使用LiveID(或任何其他身份提供者)。這是怎麼做的an example。它使用通用方法在電話應用程序中嵌入Web瀏覽器並用於所有安全令牌協商。

使用ACS爲您提供了很大的靈活性,沒有所有的複雜性。建立一個網站「聲明意識到」和信任ACS是非常直接的。更多樣品:http://claimsid.codeplex.com

相關問題