我正在尝试将新的 Firebase 与 Auth 系统一起使用,并在我的$routeProvidervia 中限制路由resolves。
不过,我不是很了解。
这就是我所拥有的。在我的 .config 函数中,我正在定义路由并初始化 firebase。以下是我的配置块。
$routeProvider
.when('/', {
templateUrl: 'templates/dashboard.ejs',
//resolve. this needs restricted
})
.when('/login', {
templateUrl: 'templates/login.ejs'
})
firebase.initializeApp(config);
Run Code Online (Sandbox Code Playgroud)
我在新的文档站点上发现,这些函数在我的.run()块中为 angular列出。
.run(function($rootScope, $location) {
$rootScope.authentication = firebase.auth();
/*firebase.auth().onAuthStateChanged(function(user) {
if(user) {
$rootScope.user = user;
} else {
$rootScope.user = false;
$location.path('/login')
}
})*/
var user = firebase.auth().currentUser;
if (user) {
$rootScope.user = user;
} else {
$rootScope.user = false;
console.log('No User!');
$location.path('/login');
}
})
Run Code Online (Sandbox Code Playgroud)
现在,我上面所拥有的只是触发every …
javascript angularjs firebase angularfire firebase-authentication
我正在使用带有 angularFire 服务 $firebaseAuth 和方法 $signInWithPopup 的 Firebase 身份验证实现 Google 身份验证登录。
如果它被解决或拒绝,该方法将返回一个承诺,到目前为止一切都清楚。
我试图改进的是当用户在没有登录的
情况下关闭弹出窗口时。在这种情况下,promise 返回的代码错误是:auth/popup-closed-by-user。
问题是这可能需要 30 秒才能发生:
app.controller("SampleCtrl", function($firebaseAuth) {
$firebaseAuth().$signInWithPopup("google").then(function(result) {
console.log("Signed in as:", result.user.uid);
}).catch(function(error) {
console.error("Authentication failed:", error);
});
});
Run Code Online (Sandbox Code Playgroud)
有没有办法在弹出窗口关闭时立即捕捉?
编辑:我正在使用angularFire 2.0.1和Firebase 3.0.3
我正在尝试找出如何在 TypeScipt 中获取 Firebase Authenticated 用户的 uid:
<div> {{ (user | async)?.uid }} </div>
Run Code Online (Sandbox Code Playgroud)
我有以下 TS 代码:
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase/app'
@Component({
selector: 'app-user-portal',
templateUrl: './user-portal.component.html',
styleUrls: ['./user-portal.component.css']
})
export class UserPortalComponent implements OnInit {
user: Observable<firebase.User>;
constructor(
public afAuth: AngularFireAuth
) {
this.user = afAuth.authState;
}
ngOnInit() {
}
}
Run Code Online (Sandbox Code Playgroud)
我读过的所有内容都表明我需要访问...的 id 属性
this.afAuth.auth.currentUser.uid
Run Code Online (Sandbox Code Playgroud)
......但这似乎没有暴露。如果我把它改成...
this.afAuth.auth.currentUser.toJSON()
Run Code Online (Sandbox Code Playgroud)
...并将其发送到控制台,然后我确实看到了一个 uid 属性。我怎样才能得到那个财产?
这甚至是为用户获取 uid 的正确方法吗?将...
this.afAuth.auth.currentUser.getIdToken()
Run Code Online (Sandbox Code Playgroud)
... 会更好?如果这样更好,我也看不出如何从中获取 uid。建议?
firebase typescript angularfire firebase-authentication angular
我正在尝试上传文件,除非我使用允许读取、写入,否则我将未经授权。
\n\nFirebaseStorageError {code_: "storage/unauthorized", message_: "Firebase \nStorage: User does not have permission to\xe2\x80\xa62/dxbdIGnx2Qdm9MfTtG5e/if_spider-\nweb_345348.png\'.", serverResponse_: "{\xe2\x86\xb5 "error": {\xe2\x86\xb5 "code": 403,\xe2\x86\xb5 \n"message": "Pe\xe2\x80\xa6n denied. Could not perform this operation"\xe2\x86\xb5 }\xe2\x86\xb5}", name_: \n"FirebaseError"}\nRun Code Online (Sandbox Code Playgroud)\n\n我想知道 firebase 如何知道用户已登录?在我的代码中,我在尝试上传文件时不发送任何身份验证。
\n\n这是我上传文件的代码:
\n\nlet uploadTask = storageRef.child(`user_content`).child(uid).child(upload.podcast_id).child(upload.file.name).put(upload.file);\n uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED,\n (snapshot) =>{\n // upload in progress\n upload.progress = Math.floor((uploadTask.snapshot.bytesTransferred / uploadTask.snapshot.totalBytes )* 100)\n },\n (error) =>{\n // upload failed\n this.flashMessagesService.show(\'Oh snap! please try again..\', { cssClass: \'alert alert-danger\', timeout: 1500 }) \n console.log(error)\n },\n () => …Run Code Online (Sandbox Code Playgroud) firebase angularfire firebase-authentication firebase-storage angular
嗨,我是角度和firebase的新手,我从今天早上起就一直在努力解决一个简单的代码问题,我搜索了这个问题,但我找不到任何对我有用的解决方案(有时候我甚至都不懂它,我是一个真正的初学者)我在控制台上的错误如下:
未捕获错误:模块"AppModule"导入的意外值"AngularFireDatabase".请添加@NgModule注释.在位于eval(compiler.js:15225)的syntaxError(compiler.js:485)处,位于JitCompiler._compileModuleAndComponents的JitCompiler._loadModules(compiler.js:34255)的CompileMetadataResolver.getNgModuleMetadata(compiler.js:15200)的Array.forEach()处(compiler.js:34216)位于Eval(main.ts)的PlatformRef.bootstrapModule(core.js:5568)的CompilerImpl.compileModuleAsync(platform-browser-dynamic.js:230)上的JitCompiler.compileModuleAsync(compiler.js:34110) :11)
这是我的代码: app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AngularFireModule } from "angularfire2";
import { AngularFireDatabaseModule, AngularFireDatabase } from "angularfire2/database";
import { AppComponent } from './app.component';
import { environment } from '../environments/environment';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AngularFireModule.initializeApp(environment.firebase),
AngularFireDatabase
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
app.component.ts
import { Component } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { AngularFireDatabase } …Run Code Online (Sandbox Code Playgroud) firebase typescript angularfire firebase-realtime-database angular
我开始绝望了,我有我的小 Angular 6 应用程序。我已经从(我认为是)angularfire2 v3 升级到 @angular/fire
我根据从 v4 到 v5 的升级(使用并包括相应的 AngularFire 库)进行了所有更改,并删除了所有 AngularFireObservables/Objects
我仍然有一个编译错误:
...
ERROR in Cannot read property 'getSymbolByModule' of undefined
ERROR in D:/Code/workouttracker/src/app/app.routes.ts (70,22): Generic type 'Mod
uleWithProviders<T, any>' requires 2 type argument(s).
ERROR in D:/Code/workouttracker/src/app/service/user.service.ts (27,24): 'fireba
se' refers to a UMD global, but the current file is a module. Consider adding an
import instead.
D:/Code/workouttracker/src/app/service/user.service.ts (28,27): 'firebase' refer
s to a UMD global, but the current file is a module. Consider adding an …Run Code Online (Sandbox Code Playgroud) 每当我尝试添加时都显示错误
ng add angular/fire@next
Run Code Online (Sandbox Code Playgroud)
使用命令行界面
编译@angular/fire : main 作为 umd
编译@angular/fire : 模块为 esm5
编译@angular/fire/auth : es2015 为 esm2015
编译 @angular/fire/auth : main as umd
编译 @angular/fire/auth : 模块为 esm5
编译@angular/fire/auth-guard : es2015 为 esm2015
编译@angular/fire/auth-guard : main as umd
编译 @angular/fire/auth-guard : 模块为 esm5
编译@angular/fire/database : es2015 为 esm2015
编译@angular/fire/database : main as umd
编译@angular/fire/database : 模块为 esm5
编译@angular/fire/database-deprecated : es2015 为 esm2015
编译@angular/fire/database-deprecated : main as umd
错误:试图用 ngcc 备份文件覆盖 E:/portfolio/node_modules/@angular/fire/bundles/database.umd.js.__ivy_ngcc_bak,这是不允许的。在 InPlaceFileWriter.writeFileAndBackup (E:\portfolio\node_modules@angular\compiler-cli\ngcc\src\writing\in_place_file_writer.js:36:23) 在 E:\portfolio\node_modules@angular\compiler-cli\ngcc\src\写入\in_place_file_writer.js:30:69 at Array.forEach () …
这是 cmd npm run serve 上的错误:ssr
I'm getting the error 'Can't find module 'require("./server/main") while hit the command "npm run server:ssr".
but "npm run build:ssr" execute successfully.
Please Help anyone.
PS C:\Users\DELL\ion\portfolio\portfolio> npm run serve:ssr
> portfolio@0.0.0 serve:ssr C:\Users\DELL\ion\portfolio\portfolio
> node dist/server
internal/modules/cjs/loader.js:628
throw err;
^
Error: Cannot find module 'require("./server/main")'
Require stack:
- C:\Users\DELL\ion\portfolio\portfolio\dist\server.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:625:15)
at Function.Module._load (internal/modules/cjs/loader.js:527:27)
at Module.require (internal/modules/cjs/loader.js:683:19)
at require (internal/modules/cjs/helpers.js:16:16)
at webpackUniversalModuleDefinition
(C:\Users\DELL\ion\portfolio\portfolio\dist\server.js:3:28)
at Object.<anonymous>
(C:\Users\DELL\ion\portfolio\portfolio\dist\server.js:10:3)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js
(internal/modules/cjs/loader.js:787:10)
at …Run Code Online (Sandbox Code Playgroud) angularfire server-side-rendering angular-universal angular8
我现在处理这个问题已经快两周了。我尝试了很多解决方法,但似乎没有一个有效。我已经安装angular-fire并安装firebase到它的最新版本,尝试过ng add @angular/fire,配置自定义webpack.config.ts,尝试回滚到每个建议的先前版本。没有人解决这个问题。
实际错误:
de-10@de10-LIFEBOOK-A555:~/Desktop$ node dist/server.js
internal/modules/cjs/loader.js:797
throw err;
^
Error: Cannot find module 'firebase/app'
Require stack:
- /home/de-10/Desktop/dist/server.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
at Function.Module._load (internal/modules/cjs/loader.js:687:27)
at Module.require (internal/modules/cjs/loader.js:849:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/home/de-10/Desktop/dist/server.js:125276:18)
at __webpack_require__ (/home/de-10/Desktop/dist/server.js:20:30)
at Module.<anonymous> (/home/de-10/Desktop/dist/server.js:125199:70)
at __webpack_require__ (/home/de-10/Desktop/dist/server.js:20:30)
at Module.<anonymous> (/home/de-10/Desktop/dist/server.js:124984:78)
at __webpack_require__ (/home/de-10/Desktop/dist/server.js:20:30) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/home/de-10/Desktop/dist/server.js' ]
}
Run Code Online (Sandbox Code Playgroud)
我不能放弃 Firebase 因为然后我面临:
ERROR in ../node_modules/@angular/fire/auth/auth.d.ts:4:28 - error TS2307: Cannot find module 'firebase/app'.
4 …Run Code Online (Sandbox Code Playgroud) 我一直在为 iOS 和 Android 开发一款新应用程序。我正在使用Ionic 5、Capacitor和Firebase 9在Angular 12上开发它上开发它。
虽然我习惯使用 AngularFireAuth 设置身份验证页面(登录/注册/密码重置),但我在使用 Ionic 和 Capacitor 进行同样的操作时遇到了麻烦。我的页面、服务和防护在浏览器上运行良好,但一旦我运行基于 XCode 的“ionic capsync”并尝试在我的 iPhone 上运行,我的登录功能就无法运行。
到目前为止,这是我的代码:
验证服务:
import { Injectable, NgZone } from '@angular/core';
import { User } from './authUser.model';
import { Router } from '@angular/router';
import { AngularFireAuth } from '@angular/fire/compat/auth';
import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/compat/firestore';
@Injectable({
providedIn: 'root'
})
export class AuthService {
userData: any;
constructor(
public afStore: AngularFirestore,
public ngFireAuth: AngularFireAuth,
public router: …Run Code Online (Sandbox Code Playgroud) angularfire ×10
firebase ×8
angular ×6
angularfire2 ×2
angularjs ×2
typescript ×2
angular8 ×1
capacitor ×1
javascript ×1