我正在使用OAuth Connector模块从外部源验证用户。 外部源上的每个用户都有一个相应的Drupal用户帐户。
成功进行誓言认证后,用户使用user_authenticate
和user_login_finalize
以编程方式使用匹配的Drupal用户帐户登录。
当drupal用户注销时,我想在user_logout
中以编程方式撤消OAuth访问权限。
但我在任何OAuth类中都找不到任何注销/撤销/销毁/无效方法。
在Drupal 7中以编程方式注销经过身份验证的OAuth用户的正确方法是什么?
P.S。我知道我上面提到的系统非常不方便,有很多更好的方法可以在站点之间共享用户帐户,但我的问题仅限于在Drupal 7 OAuth连接器模块中如何注销&# 39;
编辑: 如果我清除已保存的OAuth令牌,它是否类似于注销?任何人都可以更清楚地了解OAuth模块存储的所有数据,以及如果没有直接注销选项,如何清除它?
答案 0 :(得分:3)
如果我正确理解您的问题,您只需致电user_logout()
以编程方式退出经过身份验证的用户。
这是可能的,因为Connector模块({3}}所基于的模块)合并hook_user_logout()
以将注销调用传播到OAuth提供商。
希望这能回答你的问题吗?
注意:您是否有使用更受欢迎(且稳定)OAuth Connector模块的特定原因?