Back4App 使用 PFUser 类的经过身份验证的权限创建用户
Posted
技术标签:
【中文标题】Back4App 使用 PFUser 类的经过身份验证的权限创建用户【英文标题】:Back4App create user using authenticated permission for PFUser class 【发布时间】:2021-06-20 08:19:49 【问题描述】:作为管理员,我想从 ios 应用创建其他用户。在我的系统中,我希望通过我的管理面板创建用户。
我已将公共权限切换为 User 类的身份验证:
当只选择公共复选标记时,我可以使用以下代码在数据库中创建新用户:
func createUser(with params: [String : Any], completion: @escaping (Result<User?, NSError>) -> ())
let pfUser = PFUser()
pfUser.username = params["username"] as? String
pfUser.password = params["password"] as? String
pfUser.email = params["email"] as? String
pfUser["firstname"] = params["firstname"] as? String
pfUser["lastname"] = params["lastname"] as? String
let imageFile = PFFileObject(name:"image.jpg", data:params["avatar"] as! Data)
pfUser["avatar"] = imageFile
pfUser.signUpInBackground (succeeded, error) in
if let error = error
print(error)
completion(.failure(error as NSError))
else
print("User created successfully")
let user = User()
user.setPFUser(user: pfUser)
completion(.success(user))
但是现在我收到了认证类级别权限的错误Permission denied, user needs to be authenticated.
:
有什么解决办法吗?也许我可以注入 auth token 或像这样的 smth,我为当前的管理员用户创建另一个用户。
【问题讨论】:
【参考方案1】:首先,作为管理员,您的用户表中应该有一个管理员用户。
正如您提到的,您有一个“管理员用户”,只需以该用户身份登录您的管理面板并创建新用户。
【讨论】:
感谢您的回复!你的意思是默认的一些管理员用户,或者我在哪里可以找到这个用户?这是一些特定的设置吗? 或者你的意思是我需要添加一些列来指定用户是管理员,无论如何从我的问题中你可以看到这看起来不适用于非公共权限,对吧? 默认情况下您可以简单地拥有一个管理员用户。公共(未经过身份验证的用户)可以从用户类中读取您的数据,但不能写入。以上是关于Back4App 使用 PFUser 类的经过身份验证的权限创建用户的主要内容,如果未能解决你的问题,请参考以下文章
错误:Facebook 身份验证对此用户无效。使用 Back4App 进行颤振