, , , , 1 ( , ). !
, - :
https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview
, , , .
, , _Many Identities. Identity , , , . , (, Facebook...). :
http://railscasts.com/episodes/235-omniauth-part-1?view=asciicast
http://railscasts.com/episodes/236-omniauth-part-2?view=asciicast
has_many Identities, .
, , , :
if @user.errors.added?(:email, :taken)
end
, :
, , .
, , ( ), / , .
, ( ), , . , (, , , , ), , ( ).
, , . , , , , .
1 , , , , , , - , - , , , . , , - (, 2, 3 4). , , , , - , Facebook , , ( . ). , ( ), , , .
2 , , , devise; . , , . (, , , , , -, ).
3 , . .
4 , .
2, , 1 . , 4 (, , , 1 ).
2, 3 4 - , 1, , , , , , . !
:
https://github.com/intridea/omniauth/wiki/Managing-Multiple-Providers
- , , , , " , , ", , .
, , , - , Facebook, ( , ), , Facebook, . , , , , linkedin, Facebook (, , ). , , Facebook, ( ), , Facebook. , , " ", 2 , , ...
, , twitter , , twitter linkedin, . , , Facebook ( ), Facebook. , , , , , ! , !