oauth2 twitter
v 1.1.0
แพ็คเกจนี้ให้การสนับสนุน Twitter OAuth 2.0 สำหรับไคลเอนต์ OAuth 2.0 ของ PHP League
หากต้องการติดตั้ง ให้ใช้ผู้แต่ง:
composer require smolblog/oauth2-twitter
การใช้งานจะเหมือนกับไคลเอนต์ OAuth ของ The League โดยใช้ SmolblogOAuth2ClientProviderTwitter
เป็นผู้ให้บริการ
<?php
session_start ();
require_once ' vendor/autoload.php ' ;
$ provider = new Smolblog OAuth2 Client Provider Twitter ([
' clientId ' => ' MjVXMnRGVUN5Ym5lcVllcTVKZkk6MTpjaQ ' ,
' clientSecret ' => ' YDPiM-JsC5xU44P2VijGJRB7zdKB1PckCGjOynXGx9HZM7N6As ' ,
' redirectUri ' => ' http://oddevan.test/twitter-test/ ' ,
]);
if (! isset ( $ _GET [ ' code ' ])) {
unset( $ _SESSION [ ' oauth2state ' ]);
unset( $ _SESSION [ ' oauth2verifier ' ]);
// Optional: The default scopes are ‘tweet.read’, ‘users.read’,
// and ‘offline.access’. You can change them like this:
$ options = [
‘scope’ => [
‘tweet.read’,
‘tweet.write’,
‘tweet.moderate.write’,
‘users.read’,
‘follows.read’,
‘follows.write’,
‘offline.access’,
‘space.read’,
‘mute.read’,
‘mute.write’,
‘like.read’,
‘like.write’,
‘list.read’,
‘list.write’,
‘block.read’,
‘block.write’,
‘bookmark.read’,
‘bookmark.write’,
],
];
// If we don't have an authorization code then get one
$ authUrl = $ provider -> getAuthorizationUrl ( $ options );
$ _SESSION [ ' oauth2state ' ] = $ provider -> getState ();
// We also need to store the PKCE Verification code so we can send it with
// the authorization code request.
$ _SESSION [ ' oauth2verifier ' ] = $ provider -> getPkceVerifier ();
header ( ' Location: ' . $ authUrl );
exit;
// Check given state against previously stored one to mitigate CSRF attack
} elseif ( empty ( $ _GET [ ' state ' ]) || ( $ _GET [ ' state ' ] !== $ _SESSION [ ' oauth2state ' ])) {
unset( $ _SESSION [ ' oauth2state ' ]);
exit ( ' Invalid state ' );
} else {
try {
// Try to get an access token (using the authorization code grant)
$ token = $ provider -> getAccessToken ( ' authorization_code ' , [
' code ' => $ _GET [ ' code ' ],
' code_verifier ' => $ _SESSION [ ' oauth2verifier ' ],
]);
// Optional: Now you have a token you can look up a users profile data
// We got an access token, let's now get the user's details
$ user = $ provider -> getResourceOwner ( $ token );
// Use these details to create a new profile
printf ( ' Hello %s! ' , $ user -> getName ());
} catch ( Exception $ e ) {
echo ' <pre> ' ;
print_r ( $ e );
echo ' </pre> ' ;
// Failed to get user details
exit ( ' Oh dear... ' );
}
// Use this to interact with an API on the users behalf
echo $ token -> getToken ();
}
ดู CHANGELOG.md
ได้รับการปรับปรุง* โดยเป็นส่วนหนึ่งของโครงการ Smolblog
*ด้วย API แบบชำระเงินใหม่ของ Twitter โครงการ Smolblog ไม่สามารถรักษาปลั๊กอินนี้ได้อย่างน่าเชื่อถืออีกต่อไป เราจะแก้ไขปัญหาใดๆ ที่เราสามารถทำได้ แต่เราไม่สามารถตอบสนองต่อคุณสมบัติใหม่ๆ ได้อีกต่อไป หากคุณต้องการรับช่วงการบำรุงรักษาที่ใช้งานอยู่ โปรดติดต่อ
ใบอนุญาต BSD 3 ข้อที่ได้รับการปรับปรุง (BSD) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม