我正在创建一个Twitter API应用程序(使用PHP libray Abraham \ TwitterOAuth)。当用户验证应用程序时,我可以获得该用户的oauth_token和oauth_token_secret。 所以现在在哪里保存这些令牌供以后使用,以便用户不会一次又一次地对应用程序进行身份验证。
@JánHalaša, 你好,谢谢你的回复。我在三个网站发布了这个问题,但没有得到任何答案或评论所以谢谢:)。以下是有关该应用的更多详细信息。
我正在使用“PHP Abraham \ TwitterOauth”Libray(使用Oauth2)。我的应用程序具有“读写”权限。它使用户能够将任何用户静音或取消静音。所以这是整个过程。
2.一旦他验证了应用程序。他被重定向到回调网址。我请求用户的oauth_token和oauth_token_secret。我将这些令牌存储在cookie中,几乎没有加密。一些代码来自callback.php。
$token = $connection->oauth(
'oauth/access_token', [
'oauth_verifier' => $oauth_verifier
]
);
$token['oauth_token']=openssl_encrypt($token['oauth_token'],"AES-128-ECB",$salt);
$token['oauth_token_secret']=
openssl_encrypt($token['oauth_token_secret'],"AES-128-ECB",$salt);
setcookie('oauth_token', $token['oauth_token'],time() + (86400 * 30));
setcookie('oauth_secret', $token['oauth_token_secret'],time() + (86400 *30));
header('location:'mute_now.php');
die();
3.现在我将用户重定向到mute_now.php页面。我解密这些cookie并使用oath_token和oauth_secret代表用户从twitter获取数据。来自 mute_now.php 的some_code是
$token['oauth_token'] = openssl_decrypt($_COOKIE['oauth_token'],"AES-128-ECB",$salt);
$token['oauth_token_secret'] = openssl_decrypt($_COOKIE['oauth_token_secert'],"AES-128-ECB",$salt);
$twitter = new TwitterOAuth(
$config['consumer_key'],
$config['consumer_secret'],
$token['oauth_token'],
$token['oauth_token_secret']
);
$user_info = $twitter->get(
"account/verify_credentials"
);
$mutes = $twitter->get(
"mutes/users/list", ['include_entities'=>false,'skip_status'=>true]
);
我主要担心的是安全问题。我知道用户不能在没有应用程序凭据(consumer_key和consumer_secret)的情况下使用这些令牌。但我仍然担心安全问题。我应该在发送cookie之前使用任何加密库,如“defuse / php-encryption”。还是其他任何建议请?