2012-08-29 11 views
7

Zastanawiam się nad stworzeniem aplikacji w stylu Windows 8 Metro (WinRT), która pozwoliłaby użytkownikowi zalogować się/uwierzytelnić za pomocą interfejsu WebAPI Steam, aby móc korzystać z ich statystyki, które zapewniają. Jednak nie jestem pewien, jak do tego podejść.OpenID w aplikacji w stylu Win8 Metro (uwierzytelnianie za pomocą Steam)

Niemal każda odpowiedź na uwierzytelnianie w stosunku do dostawcy OpenID mówi, że należy użyć DotNetOpenAuth, ale podczas instalacji z NuGet nie powiedzie się, że zależność (CodeContracts.Unofficial 1.002) nie zawiera żadnych złożeń zgodnych z celem mojego projektu (struktura .NET 4.5), więc zgaduję, że albo nie został jeszcze zaktualizowany dla aplikacji Windows 8, albo nie będzie z powodu ograniczeń WinRT.

Zajrzałem także do klasy biblioteki .NET o nazwie WebAuthenticationBroker, ale nie jestem pewien, jak tego użyć z dostawcą OpenID. Próbki do niego wydają się być tylko dla OAuth, a na Steam WebAPI Page tylko informacje są:

Wystarczy pobrać bibliotekę OpenID dla swojego języka i platformy z wyboru i korzystania http://steamcommunity.com/openid jako dostawcy. Zwrócony identyfikator roszczenia będzie zawierać 64-bitowy identyfikator Steam użytkownika.

Próbowałem po prostu za pomocą podanego adresu URL przez przepuszczenie go prosto do AuthenticateAsync(WebAuthenticationOptions, Uri); ale to po prostu daje się biały ekran z pokrętła na nim.

Czy ktoś ma dla mnie jakąś poradę, jak uzyskać bibliotekę OpenID pracującą z aplikacją metra, lub jak użyć WebAuthenticationBroker do autoryzacji przez protokół OpenID (najlepiej w odniesieniu do konkretnej pary)?

Odpowiedz

1

To oznacza, że ​​musisz używać OpenID, ale wydaje się, że C# lib dla openID nie działa z .Net 4.5.

Możliwe, że można utworzyć projekt aplikacji sklepu Windows dll C++ i użyć OpenID C++ do wykonania zadania. Następnie dodaj tę bibliotekę DLL do aplikacji sklepu z oknami C#.

Powiązane problemy