Firma, w której pracuję, chce opublikować wewnętrzną stronę internetową na zewnątrz, ale także chce ją w łatwy sposób zidentyfikować. Niektóre funkcje będą widoczne dla wszystkich odwiedzających, ale większość musi być widoczna dla uwierzytelnionych użytkowników. (A niektóre funkcje są ograniczone do użytkowników admin.) Podczas gdy zarząd rozważa wdrożenie naszego własnego systemu uwierzytelniania, zasugerowałem, aby użyć już istniejącej technologii, która jest już dostępna i która utrzymuje zarządzanie nazwami użytkowników/hasłami z dala od nas. (Ponieważ jesteśmy tylko amatorami, gdy mówimy o bezpieczeństwie.) Uwierzytelnianie musi być bardzo dobre.)Wdrażanie OpenID: identyfikacja użytkowników
Zacząłem od OpenID od Google i sprawdziłem bibliotekę, którą udostępniają. Wygląda na łatwy w użyciu i mogę uzyskać tokeny, które informują mnie, że użytkownik jest uwierzytelniony. Ale jak mogę zidentyfikować tego użytkownika, aby móc powiązać informacje z naszego profilu z jego identyfikatorem/tokenem?
Wiem, że brakuje mi czegoś, aby zachować prostotę: potrzebuję tylko przykładu, który pokazuje, w jaki sposób uwierzytelnić użytkownika za pomocą Google, a następnie odzyskać pewien token, którego mogę użyć do połączenia z tym użytkownikiem na zawsze. (Nie ma tokena sesji). Token ten może być następnie użyty do wypełnienia jego profilu przez użytkownika.
Jestem zdezorientowany, gdy mówisz o "Google" tutaj. Wygląda na to, że kiedy mówisz "OpenID z Google", masz na myśli "bibliotekę DotNetOpenAuth prowadzoną przez Andrew Arnotta i hostowaną w Google Code." Ale nie jestem pewien, co masz na myśli, mówiąc "Uwierzytelnij gościa w Google". Czy chcesz, aby Twoi użytkownicy mieli tylko konta Google, a nie OpenIDs od innych dostawców? Jeśli potrzebujesz tylko "jakiegoś tokena", nie brzmi to tak, jakbyś potrzebował swojego adresu w Gmailu lub czegokolwiek. – keturn
Właściwie, na razie chcę tylko zachować prostotę i wspierać tylko Google OpenID. Projekt wciąż jest sprawdzianem koncepcji i próbuję przekonać zarząd do korzystania z OpenID zamiast konieczności implementacji naszego własnego systemu uwierzytelniania. Z drugiej strony OpenID jest otwartym standardem, więc nie powinno być trudno używać go również dla innych dostawców ... –