2011-09-05 33 views
6

Tôi đang tìm thư viện oAuth cơ bản cho PHP, một cái gì đó mà tôi chỉ có thể chuyển khóa người dùng, khóa bí mật và URL để yêu cầu mã thông báo (và gọi lại), nơi nó sẽ chỉ cần trả lại Mã thông báo oAuth. Các tính năng chính nó cần là có thể sử dụng trên các mạng xã hội khác nhau. hiện tại tôi có một trình bao bọc lớn cho Twitter, một trình bao bọc lớn cho facebook và một trình bao bọc khác cho Linked in etc, có thể được thay thế bằng một chức năng cho mỗi trang web và một trang web oAuth cơ bản.PHP đơn giản và thư viện oAuth

+0

http://code.google.com/p/oauth-php/, ví dụ twitter: http://code.google.com/p/oauth-php/source/browse /trunk/example/client/twoleggedtwitter.php –

+0

Twitter và Facebook sử dụng các phiên bản OAuth khác nhau. Bạn không thể có hỗ trợ cho hai người này trong một thư viện – sanmai

+0

Tôi đã cố gắng xây dựng điều này. Nó có sẵn trong mã google nhưng không bao giờ hoàn thành nó. Hiện tại, chỉ hoạt động cho twitter và linkedin http://code.google.com/p/social-php/ –

Trả lời

4

Hiện không có thư viện nào như vậy. Bạn có thư viện oauth-phpoauth2-php nhưng chúng không đơn giản "", phần tốt là họ tự quản lý mã thông báo của mình. Họ không thích các thẻ quá dài (như Yahoo) có thể là một vấn đề lớn.

Ngoài ra, một số chức năng của Microsoft API không có sẵn trong phiên bản 5.0 của họ nữa, nghĩa là bạn phải sử dụng API cũ của mình để triển khai own Oauth protocol (tất cả thông số oauth_ * có tên wrap_ *).

Chỉnh sửa: bạn có thể kiểm tra dự án HybridAuth triển khai phần đăng nhập (không phải toàn bộ API) nhưng phải cung cấp cho bạn khởi động tốt.

+1

Tôi sẽ kiểm tra HybridAuth tối nay, trông giống như gần nhất tôi sẽ nhận được – maccard

+1

Bật ra có oAuth được xây dựng thành PHP, đó là đơn giản hơn các đề xuất. https://github.com/jrconlin/oauthsimple/blob/master/php/example.php là một ví dụ điển hình tôi đã tìm thấy một thư viện oAuth dễ dàng, nhưng cuối cùng tôi đã đi đến HybridAuth. Nó đề cập đến các thông tin đăng nhập, đó là chính xác những gì tôi muốn, tôi có thể xây dựng phần còn lại của API trên đầu trang của nó (Tôi không cần nhiều hơn nữa) Cảm ơn – maccard

1

Tôi thực sự đã tự mình tìm hiểu câu hỏi này và kết thúc việc xây dựng thư viện OAuth sau khi xem xét tất cả các lựa chọn tôi có. Dưới đây là một số mã mẫu để gọi API của Twitter:

use ohmy\Auth1; 

# start a session to save oauth data in-between redirects 
session_start(); 

# initialize 3-legged oauth 
$twitter = Auth1::init(3); 

# configuration 
$twitter->set('key', 'your consumer key') 
     ->set('secret', 'your consumer secret') 
     ->set('callback', 'your callback url') 
     ->request('https://api.twitter.com/oauth/request_token') 
     ->authorize('https://api.twitter.com/oauth/authorize') 
     ->access('https://api.twitter.com/oauth/access_token') 
     ->finally(session_destroy); 

# test GET call 
$twitter->GET('https://api.twitter.com/1.1/statuses/home_timeline.json', array('count' => 5)) 
     ->then(function($response) { 
      echo '<pre>'; 
      var_dump($response->json()); 
      echo '</pre>'; 
     }); 

Thư viện hoạt động với Twitter, Facebook và LinkedIn. Bạn có thể xem tại: https://github.com/sudocode/ohmy-auth

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