【问题标题】:Back4App create user using authenticated permission for PFUser classBack4App 使用 PFUser 类的经过身份验证的权限创建用户
【发布时间】: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,我为当前的管理员用户创建另一个用户。

【问题讨论】:

    标签: swift parse-platform back4app pfobject pfuser


    【解决方案1】:

    首先,作为管理员,您的用户表中应该有一个管理员用户。

    正如您提到的,您有一个“管理员用户”,只需以该用户身份登录您的管理面板并创建新用户。

    【讨论】:

    • 感谢您的回复!你的意思是默认的一些管理员用户,或者我在哪里可以找到这个用户?这是一些特定的设置吗?
    • 或者你的意思是我需要添加一些列来指定用户是管理员,无论如何从我的问题中你可以看到这看起来不适用于非公共权限,对吧?
    • 默认情况下您可以简单地拥有一个管理员用户。公共(未经过身份验证的用户)可以从用户类中读取您的数据,但不能写入。
    猜你喜欢
    • 2021-10-14
    • 2019-06-28
    • 2016-10-29
    • 1970-01-01
    • 2020-11-15
    • 2016-01-17
    • 2011-06-26
    • 1970-01-01
    • 2014-08-28
    相关资源
    最近更新 更多