首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular-Firebase LogIn

Angular-Firebase LogIn
EN

Stack Overflow用户
提问于 2017-11-11 17:59:46
回答 1查看 219关注 0票数 0

我在firebase中有一组数据: Username:'username‘和Password:'password’

我已经构建了一个带有两个文本框的角形表单。如何将用户输入的值与存储在数据库中的值进行比较,如果不匹配,则在单击按钮时返回错误?请让我知道,我一定遗漏了一些非常基本的东西。

下面是我的代码:成员-凭证.组件.ts

代码语言:javascript
复制
       import { Component, OnInit } from '@angular/core';
       import {CredentialService } from '../../services/credential.service';

      import { Credential } from '../../models/credentials';

     @Component({
     selector: 'app-member-credentials',
     templateUrl: './member-credentials.component.html',
     styleUrls: ['./member-credentials.component.css']
     })
     export class MemberCredentialsComponent implements OnInit {
     credentials: Credential[];
     Username ='';
     Password = '';
     public errorMsg = '';

       constructor(private credentialService: CredentialService) { }

      ngOnInit() {
       this.credentialService.getCredentials().subscribe(credentials =>{
       this.credentials=credentials;
      })
    }

  login(){
      //Where I want to implement the click.
   }

    }

   member-credentials.component.html
     <div *ngFor="let credential of credentials" class="container" >
        <div class="title">
            Welcome
        </div>
        <div class="panel-body">
            <div class="row">
                <div class="input-field col s12">
                    <input type="text" class="validate" 
                   [(ngModel)]="credential.Username"  placeholder="User Name">
                </div>
            </div>

            <div class="row">
                <div class="input-field col s12">
                    <input type="password" class="validate" 
              [(ngModel)]="credential.Password"  placeholder="Password">
             </div>
            </div>

            <!--<span>{{errorMsg}}</span>-->
            <button (click)="login()" 
                class="btn waves-effect waves-light" 
                type="submit" name="action">Login</button>
        </div>
    </div>    

   credential.service.ts
    import { Injectable } from '@angular/core';
    import { AngularFirestore, AngularFirestoreCollection, 
           AngularFirestoreDocument } from 'angularfire2/firestore';
    import { Observable } from 'rxjs/Observable';

    import { Credential } from '../models/credentials';

   @Injectable()
 export class CredentialService {
   credentialCollection: AngularFirestoreCollection<Credential>;
   credentials: Observable<Credential[]>;

    constructor(public afs: AngularFirestore) {
    this.credentials = this.afs.collection('MemberDetails').valueChanges();
   }

    getCredentials(){
      return this.credentials;

   }

   }    
EN

回答 1

Stack Overflow用户

发布于 2018-02-11 21:01:26

首先,您需要拥有注册用户,并为此登录到firebase控制台并激活授权。

在此之后,安装angularfire2模块以使用身份验证方法,该方法将在firebase身份验证控制台中创建相同的登录数据。

它看起来有点太多的工作,但很简单。我建议你看看youtube上的教程。

如果你被卡住了,给我留言,我可以解释一些细节,因为我知道这对新人来说可能是令人沮丧的。

Ps: auth方法会做比较,所以你不需要在前端做比较。检查这个:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47236646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档