Użyłem Devise jako standardowego klejnotu uwierzytelniania dla innych projektów. W innym projekcie użyłem Devise + Omniauth do uwierzytelniania Twittera.Czy Devise + Omniauth może mieć kilka typów logowania?
W nowym projekcie potrzebuję moich użytkowników końcowych, aby móc zalogować się za pośrednictwem Twittera i Facebooka lub aby móc zarejestrować się za pośrednictwem aplikacji. W przyszłości użytkownik może łączyć swoje konta. Na przykład jego konto na Twitterze i Facebooku. Lub jego Twitter i "rodzimy" konto. "Native" to konto, które zarejestrował bezpośrednio w aplikacji internetowej.
Czy Devise jest zdolny do takich? Jeśli tak, jak połączyć konta użytkowników? Jaka jest tego koncepcja? W jaki sposób aplikacja wie, które konta Facebook i Twitter należą do jakiego użytkownika?
Przyjęcie pomysłów i sugestii.
EDIT:
Śledzę http://railscasts.com/episodes/236-omniauth-part-2?autoplay=true i co ja dont dostać to. Jeśli
- użytkownik jest wylogowany z aplikacji,
- użytkownik ma konto zarejestrowane z aplikacji,
- użytkownik loguje się z innego usługodawcy (facebook, twitter, etc).
W jaki sposób aplikacja może powiązać swojego nowego dostawcę usług ze swoimi już istniejącymi kontami?
Stackoverflow.com ma tę funkcję. Ale jeden usługodawca, którego nie uwzględnia w swojej funkcji "wielu znaków", to Twitter. Zgaduję, że to dlatego, że Twitter nie udostępnia wiadomości e-mail użytkownika za pośrednictwem interfejsu API. Podczas gdy inni usługodawcy (Facebook, Yahoo, Gmail) to robią.
Dobre wyjaśnienie. Czy jest to główny powód, dla którego Stack Overflow nie umożliwia uwierzytelniania na Twitterze? –
To prawdopodobnie powód. Powinieneś zapytać bezpośrednio administratorów, może za tym stoi także polityczny powód. –
Stackoverflow nie obsługuje Twittera z powodu używania OAuth 1.0, czytałem na blogu, że było to trudne do zintegrowania z ich obecnym systemem. Posiadanie przez użytkownika loginu, a następnie dodanie innego konta pod swoją nazwą użytkownika, wydaje się być najlepszą techniką. Tak właśnie działa SO. http://meta.stackexchange.com/questions/74551/enable-authentication-via-twitter-oauth – Ash