Генерация письма подтверждения через firebase с использованием angular / spring-boot - PullRequest
2 голосов
/ 16 мая 2019

Я занимаюсь разработкой приложения с Firebase ( аутентификация только ), угловой и пружинной загрузкой.Я хотел бы отправить подтверждение по электронной почте после создания пользователя.У меня есть два варианта создать пользователя, указав адрес электронной почты и пароль.

  1. Регистрация через страницу регистрации (Любой)
  2. Администратор может создать пользователя после входа в систему..

In Угловой 7

SignUp(email, password) {
    return this.afAuth.auth.createUserWithEmailAndPassword(email, password)
    .then((result) => {
        // You have been successfully registered!"  
        this.afAuth.auth.currentUser.sendEmailVerification()
            .then(() => {
                // Please verify your email
            })
    }).catch((error) => {
        // Error while registering a user 
    })
}

Если была создана новая учетная запись, пользователь автоматически войдет в систему.- Firebase Ref

Приведенный выше код возвращает данные пользователя в качестве текущего пользователя. , поэтому второй сценарий не выполняется (даже администратор вошел в систему,как только он создал пользователя, его автоматическое изменение состояний администратора на новые пользовательские состояния). Итак, я создаю нового пользователя с помощью back-end.

In Spring Boot

CreateRequest request = new CreateRequest().setEmail(user.getEmail()).setPassword(user.getPassword());
UserRecord userRecord = FirebaseAuth.getInstance().createUser(request);

Это позволяет успешно создать пользователя без изменения состояний пользователя, вошедшего в систему.

Можно ли как-нибудь отправить подтверждение по электронной почте во второй сценарий (через бэкэнд или фронтэнд)?Заранее спасибо.

1 Ответ

0 голосов
/ 17 мая 2019

Ну, я обновил последнюю зависимость в бэк-энде (Spring-boot), которая имеет generateEmailVerificationLink();

<dependency>
    <groupId>com.google.firebase</groupId>
    <artifactId>firebase-admin</artifactId>
    <version>6.8.1</version>
</dependency>

Так что письмо с подтверждением может быть сгенерировано и отправлено через пользовательский почтовый сервис. Создать ссылку для подтверждения

// Generating verification link with the help of firebase
String link=FirebaseAuth.getInstance().generateEmailVerificationLink(user.getEmail());

// Sending the link through custome mail service
emailService.sendMail("Your mail id", user.getEmail(), "Verfication email", link);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...