gpt4 book ai didi

oauth - 在 hybridauth 中恢复访问 token

转载 作者:行者123 更新时间:2023-12-01 11:04:30 27 4
gpt4 key购买 nike

我在我的数据库中保存了访问 token (使用此方法:getAccessToken ()),但现在我想将此值恢复到一个对象。

我该怎么做?

最佳答案

这在 hybridauth 用户手册中使用以下代码进行了解释:

  // get the stored hybridauth data from your storage system
$hybridauth_session_data = get_sorted_hybridauth_session( $current_user_id );

Get_sorted_hybridauth_session 是你获取存储数据的内部函数。无论您是将数据存储在名为“external_token”的字段中的表中,还是通过普通的 sql 查询获取数据,然后将其提供给以下函数,都没有关系:

   // then call Hybrid_Auth::restoreSessionData() to get stored data
$hybridauth->restoreSessionData( $hybridauth_session_data );

// call back an instance of Twitter adapter
$twitter = $hybridauth->getAdapter( "Twitter" );

// regrab te user profile
$user_profile = $twitter->getUserProfile();

$hybridauth->restoreSessionData($hybridauth_session_data);将恢复序列化的 session 对象,然后它将为为其保存的任何提供者获取一个适配器。最好将提供者名称(在本例中为 Twitter)与 external_provider 之类的内容保存在同一个数据库表中,然后您可以通过 sql auery 获取它并将其提供给 getAdapter 函数。那应该做你需要做的。

手册示例如下:

http://hybridauth.sourceforge.net/userguide/HybridAuth_Sessions.html

=============

作为附加信息 - 我在测试中看到的是,以这种方式保存 session 不会阻止 hybridauth 登录用户,即使用户同时撤销了对应用程序的访问。即,如果用户已经登录并获得授权,但是单独转到应用程序并撤销了访问权限(例如 google),hybridauth 仍会将用户登录到您的系统。我目前正在尝试找到一种方法来确保用户也已登录到远程系统。

关于oauth - 在 hybridauth 中恢复访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462739/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com