我收到 message = "ADMIN_ONLY_OPERATION"; 的运行时错误;在使用下面的代码时

Posted

技术标签:

【中文标题】我收到 message = "ADMIN_ONLY_OPERATION"; 的运行时错误;在使用下面的代码时【英文标题】:I am getting the runtime error of message = "ADMIN_ONLY_OPERATION"; while using the below code 【发布时间】:2020-01-09 21:05:21 【问题描述】:

我正在运行一个聊天应用程序代码,它给了我身份验证运行时错误。错误信息如下所示。 我尝试了几件事,但还没有成功,如果您需要其他与​​代码相关的信息,请告诉我。

提前致谢

代码是 AppDelegate.Swift 文件

internal func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool 
        FirebaseApp.configure()
        Auth.auth().signInAnonymously  (authUser, error) in
            guard Auth.auth().currentUser != nil else 
                print(error!)
                abort()
            
            self.uid = Auth.auth().currentUser!.uid
            UserDefaults.standard.set(Auth.auth().currentUser!.uid, forKey: "uid")
            let user = User(id: Auth.auth().currentUser!.uid, name: "ぼく")
            UserRepository.shared.save(user)
        
        return true
    

错误信息

Error Domain=FIRAuthErrorDomain Code=17999 "An internal error has occurred, print and inspect the error details for more information." UserInfo=FIRAuthErrorUserInfoNameKey=ERROR_INTERNAL_ERROR, NSLocalizedDescription=An internal error has occurred, print and inspect the error details for more information., NSUnderlyingError=0x6000016744b0 Error Domain=FIRAuthInternalErrorDomain Code=3 "(null)" UserInfo=FIRAuthErrorUserInfoDeserializedResponseKey=
    code = 400;
    errors =     (
                
            domain = global;
            message = "ADMIN_ONLY_OPERATION";
            reason = invalid;
        
    );
    message = "ADMIN_ONLY_OPERATION";

【问题讨论】:

检查您在 Firebase 信息中心中的设置并启用匿名登录。 【参考方案1】:

确保您已在 Firebase 控制台中启用匿名登录。看一下图片并启用标记的开关。您可以找到 Firebase 控制台here。

【讨论】:

是的,它确实有效,但还有一些问题,但与此无关。 我启用了它,但仍然遇到同样的问题。 ios 评论文档说“FIRAuthErrorCodeOperationNotAllowed - 表示未启用匿名帐户。在 Firebase 控制台的身份验证部分启用它们。”这是一个不同的代码。我想这是错误的。【参考方案2】:

除了Constantin Beer's 答案(即启用来自firebase 的匿名登录方法)之外,谷歌还注册了这个新的测试版功能(身份平台),您需要在其中选中启用创建(注册)选项。文档中还没有提到这一点,Alex Kozlowski 花了很多时间来解决这个问题。请参考下图

【讨论】:

我非常感谢您,感谢 Alex Kozlowski,因为我完全迷失在这个问题上,而您让我很开心。 在哪里可以找到这些 Identity Platform 设置? @Joel Brostrom,去你的谷歌云控制台->在顶部中间搜索部分搜索“身份平台”(带有占位符“搜索产品和资源”的那个)->它会问你启用 API -> 执行此操作后,您将被带到答案中提到的页面 -> 从那里导航到设置部分,您将在那里看到选项。 也不得不说声谢谢 - 这是我遗漏的部分,正如答案所述,它似乎没有记录在任何地方(至少我可以找到)。

以上是关于我收到 message = "ADMIN_ONLY_OPERATION"; 的运行时错误;在使用下面的代码时的主要内容,如果未能解决你的问题,请参考以下文章

收到错误 "errors":["message":"必须提供查询字符串。"]

Django Admin - “从应用程序收到不完整的响应”

PYTHONANYWHERE ...我在尝试访问 /admin/default/ 时开始收到“403 FORBIDDEN”错误

Google Cloud Messaging 设备未收到通知。 (没有“注册应用程序”链接)

Firebase云功能“admin.messaging(...)。send不是函数”

找出导致可怕的“网站遇到意外错误。请稍后再试”的原因。信息