标签: firebase-authentication

登录到我的 api 的 Firebase 令牌

我正在为一个 web 应用程序和一个 android 应用程序制作一个 golang 后端。我使用 Firebase 进行身份验证。如果我理解得很好,:

  1. 我应该能够在网络应用程序中进行身份验证
  2. 从谷歌获取 jwt 令牌
  3. 使用这个 jwtauthorization: Bearer <jwt>来调用我的 api
  4. 使用 firebase-admin-sdk 验证 jwt

如果我错了,有人可以纠正我吗?

我使用这个 html 测试页面来测试我的身份验证并记录令牌:

<html>
<head>
    <meta charset="UTF-8">
    <title>Sample FirebaseUI App</title>
    <script src="https://cdn.firebase.com/libs/firebaseui/2.5.1/firebaseui.js"></script>
    <link type="text/css" rel="stylesheet" href="https://cdn.firebase.com/libs/firebaseui/2.5.1/firebaseui.css" />

    <script src="https://www.gstatic.com/firebasejs/4.9.1/firebase.js"></script>
    <script>
        var config = {
            apiKey: "foo",
            authDomain: "bar.firebaseapp.com",
            databaseURL: "fizz.firebaseio.com",
            projectId: "buzz-193910",
            storageBucket: "john.appspot.com",
            messagingSenderId: "doe"
        };
        firebase.initializeApp(config);

        // Initialize the FirebaseUI Widget using Firebase.
        var ui = new firebaseui.auth.AuthUI(firebase.auth());

        var uiConfig = {
            callbacks: …
Run Code Online (Sandbox Code Playgroud)

api go jwt firebase firebase-authentication

1
推荐指数
1
解决办法
785
查看次数

在 Swift 中向新的 Firebase 用户发送电子邮件验证电子邮件

我已将我的应用设置为使用电子邮件地址和密码成功登录或创建 Firebase 帐户。我现在想要做的是检查用户是否已验证他们的电子邮件,如果没有,则向他们发送 Firebase 允许我们编写的验证电子邮件。

@IBAction func createAccountTapped(_ sender: Any) {

    if let email = emailTextfield.text, let password = passwordTextfield.text {

        Auth.auth().createUser(withEmail: email, password: password, completion: { user, error in

            if let firebaseError = error {

                print(firebaseError.localizedDescription)

                return

            }

            self.presentTabBar()

        })

    }

}

@IBAction func loginTapped(_ sender: Any) {

    if let email = emailTextfield.text, let password = passwordTextfield.text {

        Auth.auth().signIn(withEmail: email, password: password, completion: {(user, error) in

            if let firebaseError = error {

                print(firebaseError.localizedDescription)

                return

            }

            self.presentTabBar()

        })

    }

} …
Run Code Online (Sandbox Code Playgroud)

swift firebase-authentication

1
推荐指数
1
解决办法
4219
查看次数

为什么我的谷歌登录成功后没有显示帐户选择?

我已经成功地在我使用 Firebase 的应用中实现了一个谷歌登录。当我第一次使用谷歌账户登录时,会出现一个选择谷歌账户的对话框。

但是在我成功登录然后注销后,当我再次尝试登录时,选择谷歌帐户的对话框不再出现,它只是直接将我发送到主菜单。

每次用户通过谷歌登录时,我都希望始终显示该对话框。这是我使用的代码,在我的 VC 中有谷歌登录按钮

import UIKit
import Firebase
import GoogleSignIn
import SVProgressHUD

class AuthenticationVC : UIViewController, GIDSignInUIDelegate, GIDSignInDelegate {

    var userID : String?

    override func viewDidLoad() {
        super.viewDidLoad()

        // delegate declaration
        GIDSignIn.sharedInstance().uiDelegate = self

        // For Google SignIn Using Firebase
        GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID
        GIDSignIn.sharedInstance().delegate = self
    }




    @IBAction func googleButtonDidPressed(_ sender: Any) {
        GIDSignIn.sharedInstance().signIn()
    }



}


extension AuthenticationVC {

    // MARK: - Firebase Google Sign In Authentication Methods
    // The methods below will be triggered if the …
Run Code Online (Sandbox Code Playgroud)

ios swift firebase-authentication google-signin

1
推荐指数
1
解决办法
2272
查看次数

路径中有空格的 Firestore 安全规则

我需要为名为“测试用例”的子集合创建一个 firestore 规则。由于 Firestore 规则不是用 javascript 编写的,因此我似乎无法在匹配后获得路径以接受空格而不会出错。

我试过引号,转义字符的反斜杠,并将整个路径放在引号中。我在 firestore 文档或堆栈溢出中没有找到任何相关内容。

如何在匹配后的路径中允许空格,在下面的示例中,在包含“测试用例”的路径中?

service cloud.firestore {

  match /databases/{database}/documents {

    match /companies/{company} {
      allow read: if getUserCompany() == company || userHasAnyRole(['Super', 'Manager']);
      allow write: if getUserCompany() == company || userHasAnyRole(['Super', 'Manager']); 

      match /Test Cases/{tests} {
        allow read, write: if isSignedIn();
      }
    }
Run Code Online (Sandbox Code Playgroud)

firebase firebase-security firebase-authentication google-cloud-firestore

1
推荐指数
1
解决办法
1128
查看次数

如何将 SMTP 与 Firebase 连接?

我不想使用 Firebase 中的内置电子邮件系统,而是想使用名为 SMTP2Go 的 SMTP,但想知道如何连接它以及是否需要先购买我自己的电子邮件域?将 SMTP 连接到 Firebase 需要什么要求?

smtp firebase firebase-authentication

1
推荐指数
1
解决办法
1万
查看次数

firebase admin:验证电话号码时“发生内部错误。原始服务器响应”

我正在使用 firebase admin 创建新用户。该用户有电话号码。当我像这样填写电话号码“7777777”时,我的 Firebase 管理员响应出现了正确的错误:

{ 
 Error: The phone number must be a non-empty E.164 standard compliant identifier string.
at FirebaseAuthError.FirebaseError [as constructor] 
 ...
 ...
errorInfo:
 { code: 'auth/invalid-phone-number',
   message: 'The phone number must be a non-empty E.164 standard 
   compliant identifier string.' 
 },
codePrefix: 'auth' }
Run Code Online (Sandbox Code Playgroud)

但是,如果我填写这样的数字“+7777777”,我的 Firebase 管理员回复是:

{ Error: An internal error has occurred. Raw server response: 
"{"error":{"code":400,"message":"INVALID_PHONE_NUMBER : TOO_SHORT","errors":
[{"message":"INVALID_PHONE_NUMBER : TOO_SHORT","domain":"global","reason":"invalid"}]}}"
at FirebaseAuthError.FirebaseError [as constructor] ...
errorInfo:
 { code: 'auth/internal-error',
   message: 'An internal error has …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-authentication

1
推荐指数
1
解决办法
4031
查看次数

应用更新时 Firebase 匿名会持续存在吗?

我在我的 iOS 应用程序中创建了匿名用户,我想知道当应用程序更新时,用户匿名会话是否会持续?因为更新应用程序时应用程序被删除但不是所有内容(UserDefault例如持续存在)

ios firebase firebase-authentication

1
推荐指数
1
解决办法
268
查看次数

firestore vue.js:auth() 不是函数

我有一个像这样的 firebase 配置文件:

import { firebase } from "@firebase/app";
import "@firebase/firestore";

const firebaseApp = firebase.initializeApp({
    apiKey: "myKey",
    authDomain: "myDomain",
    databaseURL: "myURL",
    projectId: "myProject",
    storageBucket: "myBucket",
    messagingSenderId: "999999999"
});

export const db = firebaseApp.firestore();
export const firebaseApp = firebaseApp;
Run Code Online (Sandbox Code Playgroud)

我正在尝试对用户进行身份验证,但不断收到 firebaseApp.auth() 不是一个函数。

let me = db.collection('staff').where('email', '==', this.current_user.email)
    .get()
    .then((querySnapshot) => {
        querySnapshot.forEach((doc) => {
           this.fbUser = doc.id;
           let email = doc.data().email;
           let pw = doc.data().key;

           firebaseApp.auth().onAuthStateChanged(user => {
              if (user) {
                 //console.log('Already authenticated.');
              } else {
                 firebaseApp.auth().signInWithEmailAndPassword(email, pw)
                    .then(liu => …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-authentication vuejs2 vuefire

1
推荐指数
1
解决办法
781
查看次数

使用电话号码登录 firebase

如何通过获取他的电话号码登录现有用户。我不想在登录时发送验证,因为它已经在注册时发送

我想用用户名和密码注册用户

需要安卓代码

android firebase firebase-authentication

1
推荐指数
1
解决办法
4436
查看次数

Firebase 模拟读取被拒绝

在我的 firebase 项目中,我实现了 Google 身份验证。

我的 Firebase 规则如下所示:

{
  "rules": {
      "users": {
      "$uid": {
        ".read": "auth.uid == $uid",
        ".write": "auth.uid == $uid"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

该数据库具有以下快照: 在此处输入图片说明

每次我尝试模拟。Firebase 说“模拟读取被拒绝”。

在此处输入图片说明

我在这里做错的任何想法?

firebase firebase-security firebase-authentication firebase-realtime-database

1
推荐指数
1
解决办法
1644
查看次数