2010-03-18 5 views
9

Tôi phải tích hợp Đăng nhập bằng Twitter trong ứng dụng của mình như dưới đây. https://dev.twitter.com/docs/auth/sign-twitter Nó được trình duyệt ứng dụng dựa trên phát triển trong JavaScript Tôi đã được đề cập google mã java script OAuth, nhưng im bối rối làm thế nào để sử dụng oauth/xác thực và làm thế nào để có được những oauth_tokenJavaScript OAuth đăng nhập bằng Twitter

Bất kỳ một thể xin vui lòng giúp tôi ra với một số mẫu ?

+0

Bạn đã xem tài liệu về công việc với oauth_token trên trang twitter chưa? http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-oauth-request_token – uthark

Trả lời

1

Sử dụng dưới mã trong consumer.js và chọn nhà cung cấp ví dụ trong index.html danh sách thả xuống

consumer.example = 
{ consumerKey : "your_app_key" 
, consumerSecret: "your_app_secret" 
, serviceProvider: 
    { signatureMethod  : "HMAC-SHA1" 
    , requestTokenURL  : "https://twitter.com/oauth/request_token" 
    , userAuthorizationURL: "https://twitter.com/oauth/authorize" 
    , accessTokenURL  : "https://twitter.com/oauth/access_token" 
    , echoURL    : "http://localhost/oauth-provider/echo" 
    } 
}; 
15

Vấn đề với điều này là bất cứ ai xem trang của bạn cũng có thể hiện nay xem trọng người tiêu dùng của bạn và bí mật mà phải được giữ kín.

Bây giờ, ai đó có thể viết một ứng dụng sử dụng thông tin đăng nhập ứng dụng của bạn và làm những điều tồi tệ và xấu đến mức twitter và người dùng cấm bạn và không có bất kỳ điều gì bạn có thể làm.

Twitter làm nhà nước mà mọi nỗ lực có thể phải được thực hiện để giữ những giá trị riêng để tránh điều này xảy ra

Thật không may, hiện nay có cách nào để sử dụng OAuth trong trình duyệt dựa trên JavaScript một cách an toàn.

+1

Điều này đã được xác nhận bởi bạn của tôi, người làm việc tại Twitter. Nó có thể được thực hiện, nhưng nó cau mày ... rõ ràng. – Fiid

+0

@ Tôi có thể có cách không an toàn của Twitter OAuth –

2

Check-out Twitter @Anywhere JSDK authCompletesignOut sự kiện và callbacks tại https://dev.twitter.com/docs/anywhere/welcome#login-signup

twttr.anywhere(function (T) { 

    T.bind("authComplete", function (e, user) { 
     // triggered when auth completed successfully 
    }); 

    T.bind("signOut", function (e) { 
     // triggered when user logs out 
    }); 

}); 
+2

Potench, tôi đã làm điều đó và làm việc rất tốt ba tháng trước, nhưng tôi biết rằng Twitter đang [phơi nắng bất cứ nơi nào] (https://dev.twitter.com/blog/sunsetting -anywhere) và API javascript tuyệt vời này sẽ không còn khả dụng nữa. Tôi đọc tài liệu mới và tôi thấy không có API Javascript thân thiện và thông tin duy nhất tôi tìm thấy là [tự mình thực hiện] (https://dev.twitter.com/docs/auth/implementing-sign-twitter). Bạn có biết cách nào để làm điều đó ngay bây giờ mà Anywhere sẽ không được chấp nhận? Cảm ơn! – fernaramburu

+0

Cảm ơn @fernaramburu vì đã chú ý đến điều này! Tôi đang nhìn vào nó - khó nói vào lúc này khi nó xuất hiện bạn sẽ phải cuộn giải pháp của riêng bạn (back-end và front-end) để cung cấp các sự kiện như "authComplete" và "signOut". Sẽ lấy lại cho bạn ... – potench

0

Vì tôi đang tìm kiếm điều tương tự, cố gắng không sử dụng một giải pháp tùy chỉnh PHP, tôi tình cờ này rất đơn giản hội nhập tại http://www.fullondesign.co.uk/coding/2516-how-use-twitter-oauth-1-1-javascriptjquery.htm trong đó sử dụng một proxy PHP chấp nhận bất cứ điều gì twitter api gọi bạn muốn lấy từ javascript của bạn ..

tôi chắc chắn tham gia một cái nhìn vào nó

+0

Xin chào, tôi cũng nghĩ về một proxy để ẩn bí mật. Bạn đã thử giải pháp này chưa? Nó vẫn hoạt động với API twitter hiện tại? Nó có hạn chế không? –