2012-08-29 10 views
7

Ho pensato di creare un'applicazione Windows 8 Metro (WinRT) che consentisse all'utente di accedere/autenticarsi con Steam WebAPI in modo da poter utilizzare i loro statistiche ecc. che forniscono. Tuttavia non sono sicuro di come affrontarlo.OpenID in una app Win8 Metro-style (Autenticazione con Steam)

Quasi ogni risposta all'autenticazione contro un provider OpenID dice di utilizzare DotNetOpenAuth ma quando si installa con NuGet non riesce a dire che una dipendenza (CodeContracts.Unofficial 1.002) non ha assembly compatibili con la destinazione del mio progetto (.NET framework 4.5) quindi suppongo che non sia stato ancora aggiornato per le app di Windows 8 o che non sia dovuto a qualche restrizione WinRT.

Ho anche cercato di utilizzare la classe WebAuthenticationBroker della libreria .NET, ma non sono sicuro di come utilizzarlo con un provider OpenID. I campioni per esso sembrano essere solo per OAuth, e sul Steam WebAPI Page l'unica informazioni fornite sono:

Basta scaricare una libreria OpenID per la lingua e la piattaforma di scelta e utilizzare http://steamcommunity.com/openid come provider. L'ID rivendicato restituito conterrà lo SteamID a 64 bit dell'utente.

ho provato semplicemente utilizzando l'URL dato passandolo direttamente a AuthenticateAsync(WebAuthenticationOptions, Uri);, ma questo solo dà una schermata bianca con uno spinner su di esso.

Qualcuno ha qualche consiglio su come ottenere una libreria OpenID che funziona con un'applicazione Metro o come utilizzare WebAuthenticationBroker per l'autenticazione tramite il protocollo OpenID (preferibilmente contro vapore specifico)?

risposta

1

http://steamcommunity.com/dev Questo dice che devi usare OpenID ma sembra che il C# lib per openID non funzioni con .Net 4.5.

Potrebbe essere possibile creare un progetto di app per finestre di C++ dll e utilizzare OpenID C++ per eseguire il lavoro. Poi aggiungi quella dll alla tua app del negozio di finestre C#.

Problemi correlati