2009-06-03 17 views
5

Staram się uzyskać OpenID pracując nad aplikacją Windows Azure. Obecnie używam DotNetOpenAuth (kiedyś DotNetOpenID) i najpierw miałem problem z krokiem przekazywania, ponieważ Azure używa portu 20000 wewnętrznie i to było coraz przekazywane tam iz powrotem. Znalazłem obejście tego problemu (napiszę o tym wpis na blogu).Najlepszy sposób korzystania z uwierzytelniania OpenID w usłudze Azure?

Następnym problemem jest uruchomienie aplikacji na farmie internetowej (wiele instancji), musisz napisać własny "custom store" dla DotNetOpenAuth i zapisać dane w bazie danych. To jest ból do napisania.

Musi być łatwiejszy sposób. Być może jedną z usług platformy Azure? Czy ktoś pomyślnie uruchomił aplikację internetową, która uwierzytelnia się z OpenID i działa na platformie Azure? Jaki jest najlepszy lub zalecany sposób?

Odpowiedz

3

Najprostszym sposobem na uzyskanie go jest nie używać w ogóle sklepu. Możesz ustawić Stateless = true na jednym z elementów sterujących logowania, jeśli używasz ich, lub przekazać null do konstruktora OpenIdRelyingParty. W ten sposób twoja strona internetowa staje się bezpaństwowcem OpenID lub trybem "niemym". Jest nieco wolniejszy, aby użytkownicy logowali się (jeśli zauważysz) i nie musisz pisać tej klasy magazynu bazy danych.

Alternatywnie, możesz vote for more pre-written data stores, including one for Azure na UserVoice.

Przy okazji, Azure port problem should have been fixed w DotNetOpenAuth v3.1. Jeśli nie było, ponownie aktywuj ten bilet.

+0

Podałem wartość null do konstruktora OpenIdRelyingParty, tak jak zasugerowałeś i zadziałało. Tryb głupi jest świetny. Prawdopodobnie jest to ta sama szybkość, ponieważ w przeciwnym razie musiałbym wykonać wyszukiwanie bazy danych. Naprawiono problem z adresem URL, korzystałem z wersji 3.0. Dzięki! –

Powiązane problemy