Parse - 从 iOS 应用程序中删除另一个用户作为超级管理员
Posted
技术标签:
【中文标题】Parse - 从 iOS 应用程序中删除另一个用户作为超级管理员【英文标题】:Parse - Delete another user as super admin from iOS app 【发布时间】:2022-01-04 21:10:16 【问题描述】:我为我的应用使用 back4app,我想删除另一个用户(此设备上的非授权用户)。
应用程序抛出这个:
[Error]: User cannot be deleted unless they have been authenticated. (Code: 206, Version: 1.19.1)
如果我不是产品的超级管理员,这对我来说很有意义。但如果我有超级管理员权限,我想完全从系统中删除一个用户。
有什么解决方案可以解决这个问题吗?我试图从 Parse.Cloud 代码中找到一些功能。
这个想法是创建云代码并通过像这样调用 smth 从 ios 设备执行它:
PFCloud.callFunctionInBackground("deleteUserAsSuperAdmin",
withParameters: user id param here)
success, error) -> Void in
我还没有找到这样的解决方案,对我来说,使用云代码以正确的方式编写这样的代码有点困难,当然这是否是一个选项。
【问题讨论】:
【参考方案1】:您必须为此创建一个云代码函数,并使用useMasterKey
选项删除用户。比如:
Parse.Cloud.define('deleteUser', async ( user, params: userIdToDelete ) =>
if (user)
const query = new Parse.Query(Parse.Role);
query.equalTo('name', 'admin');
query.equalTo('users', user);
const count = await query.count( useMasterKey: true );
if (count === 1)
const userToDelete = new Parse.User();
userToDelete = userIdToDelete;
return userToDelete.destroy( useMasterKey: true );
throw new Error('Not an admin');
);
【讨论】:
以上是关于Parse - 从 iOS 应用程序中删除另一个用户作为超级管理员的主要内容,如果未能解决你的问题,请参考以下文章
将 IOS 应用程序从一个开发者帐户转移到另一个帐户。如果我从一个帐户中删除并创建另一个帐户,是不是可以更新?
如何从 iOS 的另一个 nsarray 中不存在的核心数据中删除对象?
我可以从 iTunes 中删除我的 iOS 应用程序并将客户转移到另一个应用程序吗?