我正在使用 OAuth Connector模块来验证来自外部源的用户。 外部源上的每个用户都有一个相应的 Drupal 用户帐户。
在成功的 oath 身份验证后,用户将使用 user_authenticate
和 user_login_finalize
以编程方式使用匹配的 Drupal 用户帐户登录。
当 drupal 用户注销时,我想在 user_logout
中以编程方式撤销 OAuth 访问权限。
但是我在任何 OAuth 类中都找不到任何注销/撤销/销毁/无效方法。
在 Drupal 7 中以编程方式注销经过身份验证的 OAuth 用户的正确方法是什么?
附言我知道我上面提到的系统非常不方便,有很多更好的方法可以在站点之间共享用户帐户,但我的问题仅限于“如何在 Drupal 7 OAuth 连接器模块中注销”。
编辑: 如果我清除保存的 OAuth token 是否类似于注销?任何人都可以更清楚地了解 OAuth 模块存储的所有数据以及如果没有直接注销选项如何清除它吗?
最佳答案
如果我正确理解您的问题,您只需调用 user_logout()
以编程方式注销经过身份验证的用户。
这是可能的,因为 Connector模块(OAuth Connector 所基于的)包含 hook_user_logout()
以将注销调用传播到 OAuth 提供程序。
希望这能回答您的问题?
注意:您没有使用更流行(且更稳定)的 OAuth 是否有特定原因?模块?
关于php - 以编程方式注销 Drupal 7 中的 OAuth 连接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22008207/