首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React App中的注册仅适用于具有特定电子邮件结尾的用户

问React App中的注册仅适用于具有特定电子邮件结尾的用户
EN

Stack Overflow用户
提问于 2019-03-25 17:31:19
回答 1查看 25关注 0票数 0

我想只允许注册在我的反应应用程序的用户与电子邮件有一定的结尾。例如,只有在最后使用@tm.com的用户。如果不手动创建一个必须不断更新的“白名单”,这是可能的吗?我的应用程序已连接到firebase。

代码语言:javascript
复制
 import firebase from '../configureFirebase'
import * as types from '../constants/ActionTypes'
import {actionStart, actionFailed, actionSuccess} from './utils/template'

export const register = (email, password) => {
  return function(dispatch) {
    dispatch(actionStart(types.REGISTER))
    const promise = firebase.auth().createUserWithEmailAndPassword(email, password)
    promise.then((user) => {
      dispatch(actionSuccess(types.REGISTER, {user: user}))
    })
    .catch(function(error) {
      let errorMessage

      switch (error.code) {
        case 'auth/weak-password':
          errorMessage = 'Passwort zu schwach'
          break
        default:
          errorMessage = error.message
      }
      dispatch(actionFailed(types.REGISTER, errorMessage))
    })
    //return promise so github.com/arnaudbenard/redux-mock-store works
    return promise
  }
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-25 18:01:19

您应该考虑在Firebase中执行此操作,而不是应用程序的前端部分。在firebase中有这样的规则,允许你限制对特定用户的访问。以下是包含@tm.com域的规则的一个小示例。

代码语言:javascript
复制
{
  "rules": {
    ".read": "auth != null",
    "restrictedUsers": {
      "$uid": {
        ".write": "auth.token.email_verified == true && auth.token.email.matches(/.*@tm.com$/)"
      }
    }
  }
}

它们在auth.token部分Firebase中提供了一个示例

这样,您就可以避免在应用程序的前面部分出现列表。以下是一些好处:

users

  • Safer

  • You

  • 不重建

  • 不向firebase公开域名可将其直接更新到firebase
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55334767

复制
相关文章

相似问题

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