取消链接 omniauth 提供商

Unlink omniauth provider

我正在构建一个简单的身份验证系统,该系统将允许多个提供商为单个用户提供服务。我正在使用 omniauth and devise。有没有办法从我的应用程序中取消单个用户的特定提供商的链接?

通过取消链接提供商,我的意思是从 oauth 应用程序中删除用户,并从我的数据库中删除关于这个特定提供商(Facebook、Twitter)的数据(uid 和类似的东西)。也就是说,用户将无法在取消链接后使用 Facebook 等登录。

我已经检查过 this,它并没有太大帮助。我还查看了 deviseomniauth 文档。似乎没有内置的方法可以实现这一点。我是否必须自己向每个提供商提出请求才能取消链接 OAuth 令牌?

不,OmniAuth 和 Devise 没有这个 "feature" 内置。您必须将其实现为单独的控制器,以管理用户提供程序。