2010-09-21 35 views
12

Tôi tìm thấy viên đá quý gmail_xoauth, hầu hết những gì tôi cần, nhưng tôi cũng cần phải tạo mã thông báo oauth (consumer_key và consumer_secret) từ bên trong Rails3.Làm cách nào để kết nối với máy chủ IMAP của Gmail bằng oauth trong Rails3?

Tôi đang cố gắng tích hợp tích hợp oauth của Gmail vào trang web của mình và do đó không thể sử dụng tập lệnh python mà đá quý trên đề cập đến. Tôi muốn trang web của tôi đưa người dùng đến trang xác thực và trích xuất mã thông báo người dùng/bí mật.

Tôi mới sử dụng OAuth, vì vậy có thể có điều gì đó hiển nhiên mà tôi đang bỏ lỡ.

CẬP NHẬT: Tôi đã giải quyết vấn đề ở trên và đã viết một bài đăng trên blog có các chi tiết (vì nó quá lớn để vừa với ở đây). http://blog.asif.in/blog/2012/03/03/google-oauth-and-rails/

+1

Đối với những người thợ săn tiền thưởng: câu trả lời cho câu hỏi này chắc chắn sẽ khá liên quan, vì vậy tôi sẽ chấp nhận một liên kết đến bài đăng trên blog của bạn, nếu nó hoàn thành. Tôi chắc chắn rằng mọi câu trả lời đúng sẽ sử dụng kết hợp các plugin @sheikh đề cập đến và: https://github.com/pelle/oauth. – SooDesuNe

+0

Điều này có nghĩa là câu trả lời sẽ cần phải giải quyết 1) nhận quyền truy cập của người tiêu dùng từ nhà cung cấp 2) lưu trữ bất kỳ thông tin thích hợp nào cho người dùng 3) làm cho yêu cầu của người tiêu dùng thành gmail – SooDesuNe

+0

Một điều nữa, ví dụ SMTP/IMAP (gửi/nhận) sẽ được vô cùng cảm kích. – SooDesuNe

Trả lời

2

Bạn có thể muốn kiểm tra OmniAuth. Đó là một đá quý đóng gói/tóm tắt rất nhiều công việc giao thức cơ bản phải được thực hiện cho OAuth, cũng như các giao thức xác thực/ủy quyền khác như OpenID và LDAP. Tôi không thạo về API của Google để gửi/nhận email, nhưng xác thực là bước đầu tiên.

wiki OmniAuth có số rất tốt tutorial khi sử dụng nó với OpenID và Google Apps, mặc dù đây có thể không hoàn toàn là những gì bạn đang tìm kiếm khi nói đến IMAP. Bạn có thể cần phải viết nhà cung cấp của riêng bạn cho OmniAuth (một tốt tutorial mô tả này có sẵn). Google cũng cung cấp reference site để xác thực/ủy quyền thông qua IMAP và OAuth. Phần liên quan nhất mà bạn có nhiều khả năng sẽ là trang detailing the protocol.

Hy vọng điều đó sẽ hữu ích!

+0

Tôi đã thử sử dụng OmniAuth nhưng nó không hoạt động tốt cho tôi. Tôi quản lý để làm cho nó hoạt động bằng cách chuyển đổi mã python ví dụ của Google sang Ruby và thêm các bộ điều khiển thích hợp. Kể từ khi nó khá tham gia, tôi sẽ viết lên một bài đăng blog sớm với các chi tiết. –

+1

Bạn có vấn đề gì với OmniAuth? –

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