Tôi đã sử dụng Devise làm đá quý xác thực tiêu chuẩn cho các dự án khác. Trong một dự án khác, tôi đã sử dụng Devise + Omniauth để xác thực Twitter.Có thể phát triển + Omniauth có một số loại đăng nhập không?
Trong một dự án mới, tôi cần người dùng cuối của mình có thể đăng nhập qua Twitter và Facebook hoặc để có thể đăng ký qua ứng dụng. Trong tương lai, người dùng có thể liên kết các tài khoản của mình với nhau. Ví dụ, tài khoản Twitter và Facebook của anh ấy. Hoặc, tài khoản Twitter và "gốc" của anh ấy. "Gốc" là tài khoản anh đăng ký trực tiếp với ứng dụng web.
Devise có khả năng như vậy không? Nếu vậy, làm cách nào để chúng tôi liên kết các tài khoản của người dùng với nhau? Khái niệm đằng sau điều này là gì? Làm cách nào để ứng dụng biết được tài khoản Facebook và Twitter nào thuộc về người dùng nào?
Ý tưởng và đề xuất được chào đón.
EDIT:
Tôi đã làm theo http://railscasts.com/episodes/236-omniauth-part-2?autoplay=true và những gì tôi không nhận được. Nếu
- người dùng được đăng xuất khỏi ứng dụng,
- người dùng có một tài khoản đăng ký với ứng dụng,
- người dùng đăng nhập với một nhà cung cấp dịch vụ khác nhau (facebook, twitter, vv).
Ứng dụng biết cách liên kết nhà cung cấp dịch vụ mới với tài khoản hiện có của anh ấy?
Stackoverflow.com có tính năng này. Nhưng một nhà cung cấp dịch vụ mà họ không bao gồm trong "đa dấu" của họ về tính năng là Twitter. Tôi đoán đó là vì Twitter không tiết lộ email của người dùng thông qua API của họ. Trong khi các nhà cung cấp dịch vụ khác (Facebook, Yahoo, Gmail) thực hiện.
Giải thích tốt. Đây có phải là lý do chính khiến Stack Overflow không cho phép xác thực Twitter không? –
Đó có lẽ là lý do. Bạn nên hỏi trực tiếp quản trị viên, có thể có một lý do chính trị đằng sau điều đó. –
Stackoverflow không hỗ trợ Twitter do họ sử dụng OAuth 1.0, tôi đọc trên blog rằng đó là một nỗi đau để tích hợp vào hệ thống hiện tại của họ. Có người dùng đăng nhập và sau đó thêm một tài khoản khác với tên người dùng của họ có vẻ là kỹ thuật tốt nhất. Đó là những gì SO làm. http://meta.stackexchange.com/questions/74551/enable-authentication-via-twitter-oauth – Ash