firebase:使用 admin sdk 删除提供者
firebase: Delete a provider using admin sdk
使用 Admin-sdk,有没有办法从 firebase 的用户记录中删除特定提供者?
例如:
假设给定用户将以下提供商链接到他的帐户
- 密码
- google.com
- facebook.com
比如说,我想撤销用户通过 facebook 登录他的帐户的能力。这可以使用 admin sdk 来完成吗?
我只能找到一个 api 来取消链接提供商(这是客户端 api。这将需要用户的 firebase-issued-idToken)。
我认为 Admin SDK 中没有 API 取消 link 提供商的功能。它确实存在于REST API中,但它似乎也只对当前用户存在。
但我也不认为这会有多大帮助,因为用户始终可以使用您的配置数据调用 API 到 link 那个提供者 - 即使您的应用程序代码没有.因此,虽然能够从您的代码中取消 link 提供程序很有用,但它不会是永久撤销,这似乎是您所追求的。只有完全禁用 Facebook 提供商,所有用户才能做到这一点。
不确定何时在 admin sdk 中添加了此功能,但似乎在 8.1.0 版本中您可以使用以下方法实现此功能:
UserRecord.UpdateRequest updateRequest = new UserRecord.UpdateRequest(ssoId);
// remove/unlink social login providers
updateRequest.setProvidersToUnlink(Arrays.asList("google.com", "facebook.com", "apple.com"));
FirebaseAuth.getInstance().updateUser(updateRequest);
使用 Admin-sdk,有没有办法从 firebase 的用户记录中删除特定提供者?
例如: 假设给定用户将以下提供商链接到他的帐户
- 密码
- google.com
- facebook.com
比如说,我想撤销用户通过 facebook 登录他的帐户的能力。这可以使用 admin sdk 来完成吗?
我只能找到一个 api 来取消链接提供商(这是客户端 api。这将需要用户的 firebase-issued-idToken)。
我认为 Admin SDK 中没有 API 取消 link 提供商的功能。它确实存在于REST API中,但它似乎也只对当前用户存在。
但我也不认为这会有多大帮助,因为用户始终可以使用您的配置数据调用 API 到 link 那个提供者 - 即使您的应用程序代码没有.因此,虽然能够从您的代码中取消 link 提供程序很有用,但它不会是永久撤销,这似乎是您所追求的。只有完全禁用 Facebook 提供商,所有用户才能做到这一点。
不确定何时在 admin sdk 中添加了此功能,但似乎在 8.1.0 版本中您可以使用以下方法实现此功能:
UserRecord.UpdateRequest updateRequest = new UserRecord.UpdateRequest(ssoId);
// remove/unlink social login providers
updateRequest.setProvidersToUnlink(Arrays.asList("google.com", "facebook.com", "apple.com"));
FirebaseAuth.getInstance().updateUser(updateRequest);