Nie jestem pewien, czego szukasz, to OAuth.
OAuth służy do delegowania autoryzacji za pomocą tokenów. W zależności od tego, co robisz, masz również dwa scenariusze:
- Twoja aplikacja chce korzystać z niektórych danych użytkowników hostowanych przez dostawcę (np. Twitter lub google). W takim przypadku Twoja aplikacja byłaby konsumentem - krótko mówiąc, użytkownik musiałby się zalogować i wyrazić zgodę na autoryzację aplikacji, aby mieć dostęp do swoich danych u dostawcy, a dostaniesz token dostępu, którego można użyć aby uzyskać dostęp do chronionych zasobów.
- Alternatywnie, masz aplikację, z użytkownikami, którzy mają loginy itp. I chcesz zapewnić (tj. Jesteś dostawcą) dostęp do niektórych ograniczonych informacji użytkowników do aplikacji innych firm (konsumentów) bez narażania ich referencje użytkowników do tych usług.
Aby uzyskać więcej informacji na temat protokołu OAuth, sprawdź numer OAuth.Net website. Aktualnie dostępne są 3 implementacje OAuth dla .Net.
powodu prac sposób OAuth, nie mogę sobie wyobrazić, jak można mieć "OAuth" dostawcę członkostwa - to naprawdę przeznaczone do zabezpieczania API, a często celem jest delegowanie uprawnień na bardziej szczegółowym poziomie, tj. Zapewnienie aplikacji konsumenta dostępu tylko do danych z książki adresowej użytkownika, bez umożliwienia im dostępu do archiwów poczty e-mail, ich kalendarza itd. - co nie pasuje do ell z modelem bezpieczeństwa opartym na członkostwie/rolach.
Zgaduję, czego tak naprawdę poszukujesz, to OpenId, czyli sposób w jaki uwierzytelniasz siebie samego w Stackoverflow. Sugerowałbym czytanie Stackoverflow OpenId case study here i prawdopodobnie najlepsza implementacja OpenId dla .Net jest obecnie częścią projektu DotNetOpenAuth (to było formalnie nazywane DotNetOpenId, strona kodowa Google dla projektu is here).
Wystarczy spada w komentarzu, że DotNetOpenAuth można teraz znaleźć tutaj: http://www.dotnetopenauth.net/ –
@bittercoder myślę, że odstraszają ludzi z tej odpowiedzi . Chociaż prawdą jest, że ludzie używają oAuth do autoryzacji API stron trzecich, nie jest nierozsądne rozważenie wprowadzenia niestandardowego członkostwa SSO w asp.net z np. Domena Google Apps, w której token autoryzacji jest używany jako token uwierzytelniania asp.net (cookie), aby można go było użyć do późniejszego oddzwonienia do interfejsu API Google. Mam dokładnie ten scenariusz, w którym moja aplikacja MVC wywołuje apis w moim google apps.domain. oAuth to zarówno uwierzytelnianie, jak i autoryzacja. –
Ta odpowiedź została utworzona przed OAuth 2 istniejącą w jej obecnej formie (3 lata temu!) - powiedziałbym wtedy, że było poprawne. Obecnie myślę, że świat odwrócił się, a większość ludzi nie zna OpenID, traktuje OAuth jako mechanizm uwierzytelniania i niekoniecznie jest świadoma wielu podstawowych idei stojących za OAuth (delegowane uwierzytelnianie/sposób zabezpieczenia dostępu API). – Bittercoder