2012-05-01 58 views
6

Tôi đang tạo ứng dụng và dự định có một số đám mây đang xảy ra với nó, nhưng tôi không muốn tạo cơ sở dữ liệu người dùng và yêu cầu người dùng phải nhớ tên người dùng và mật khẩu của họ.Xác thực người dùng rất đơn giản

Vì nó sẽ được phân phối thông qua cửa hàng ứng dụng Chrome, về cơ bản nó được đảm bảo rằng người dùng sẽ có tài khoản google. Tất cả những gì tôi muốn làm là:

  1. Nhận email của người dùng thông qua nội dung tài khoản google. Nếu tôi nhận được thông qua đó, thì email của họ là tất cả xác thực tôi cần để lấy dữ liệu của người dùng đó.

  2. Nếu tôi kết thúc việc đưa ứng dụng lên một thứ gì đó khác với trình duyệt Chrome, tôi sẽ chỉ cho người dùng sử dụng email của họ để yêu cầu liên kết xác thực và sau đó tôi sẽ gửi cho họ mã xác thực cho tài khoản đó đưa mã xác nhận vào ứng dụng, nó sẽ là một người dùng đã được xác minh, vì vậy nó cũng an toàn và dễ dàng.

EDIT: Tôi đang xem xét vấn đề này. Cho đến nay tôi có:

OAuth 2 Google API

Nhưng tôi có một vấn đề mà tôi không biết những gì để thiết lập như là nguồn gốc javascript của tôi trong API của Google và không có quá nhiều thông tin về vấn đề này ở nước ngoài. Nếu bất cứ ai có thể cho tôi biết những gì nguồn gốc javascript tôi cần phải thiết lập cho một phần mở rộng chrome để truy cập google api nó sẽ là một trợ giúp lớn.

PS: Cảm ơn bạn đã bỏ phiếu, đây là lý do tại sao tôi thích sử dụng dịch vụ trao đổi ngăn xếp.

Trả lời

2

Hmmm, tôi nghĩ lý do duy nhất được bỏ phiếu là câu hỏi này có thể được hỏi ở đâu đó trên trang web (nhưng tôi sẽ giúp bạn và cung cấp cho 1up).

Vì vậy, những gì bạn muốn sử dụng Google OpenID. Bạn sẽ phải đăng ký ứng dụng của mình với Google để họ có thể cung cấp mã thông báo OAuth2 cho ứng dụng của bạn. Tôi đã không làm điều này với Google nhưng với các dịch vụ khác và nó là khá dễ dàng, chỉ cần tìm kiếm xung quanh.

Về mặt có được OAuth2 cho ứng dụng của bạn trong tiện ích mở rộng chrome - điều này có thể là một nỗi đau vì tiện ích mở rộng được sandbox và ví dụ của Google sử dụng OAuth không phải OAuth2.

Đây là giải pháp tôi lưu trữ trên GitHub cho điều này - tôi cũng sử dụng này trong phần mở rộng của tôi GitHub Repositories:

https://github.com/jjNford/oauth2-chrome-extension

Hope this helps một cách nào đó. Không được khuyến khích với StackOverflow, nó là một nguồn tài nguyên tuyệt vời với nhiều người đóng góp tuyệt vời.

Chúc may mắn!

0

Tôi cũng phải bỏ phiếu cho bạn vì tôi đang theo dõi một vấn đề liên quan, vì vậy, đây là những gì tôi thấy có thể hữu ích.

Theo các hướng dẫn này - http://code.google.com/p/google-api-javascript-client/wiki/Authentication - "Trong hộp" Nguồn gốc JavaScript được ủy quyền ", hãy nhập giao thức và tên miền cho trang web của bạn". Đây phải là giao thức (http: // hoặc https: //) theo sau là bất kỳ tên miền phụ tùy chọn nào theo sau là tên miền của bạn và không có dấu gạch chéo. Không có gì sau tên miền.

Điều này ngăn chặn một số loại tấn công bảo mật nhất định, xem: http://en.wikipedia.org/wiki/Same_origin_policy.

Có một số câu hỏi liên quan ở đây mà tôi thấy có thể hữu ích: Problems with Google Picker API and selecting Google Drive itemsgoogle apis console 'Javascript origins'. Bây giờ với tất cả điều đó đã nói, tôi vẫn đang cố gắng theo dõi những giá trị để đặt vào đó cho một trong các trang web của tôi được lưu trữ dưới dạng Trang web Google, vì không có giá trị hiển nhiên nào phù hợp với tôi. Vì vậy, có thể có một số tinh tế ở đó mà tôi đã bỏ lỡ trong lời giải thích này.

Các vấn đề liên quan