Trang chủ » Blog » Sử dụng gmail để gửi email xác thực khi đăng ký tài khoản

Sử dụng gmail để gửi email xác thực khi đăng ký tài khoản

bởi CodeGym | 06/12/2023 17:30 | Blog
  • Bài trước mình đã hướng dẫn phần cấu hình để sử dụng gmail xong xong, bài viết này mình sẽ hướng dẫn các bạn sử dụng gmail để gửi tin nhắn xác thực tài khoản
  • Các bạn tạo một class có tên là EmailService đặt ở trong package Service

xác thực gmail Spring Boot

  • Entity User

xác thực gmail Spring Boot

  • UserRepository

xác thực gmail Spring Boot

  • UserService

  • UserServiceImpl
package com.codegym.quiz.service.impl;



import com.codegym.quiz.model.User;

import com.codegym.quiz.model.UserPrinciple;

import com.codegym.quiz.repository.UserRepository;

import com.codegym.quiz.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.security.core.userdetails.UserDetails;

import org.springframework.security.core.userdetails.UsernameNotFoundException;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;



import java.util.Optional;



@Service

public class UserServiceImpl implements UserService {

    @Autowired

    private UserRepository userRepository;



    @Override

    @Transactional

    public UserDetails loadUserByUsername(String username) {

        User user = userRepository.findByUsername(username);

        if (user == null) {

            throw new UsernameNotFoundException(username);

        }

        if (this.checkLogin(user)) {

            return UserPrinciple.build(user);

        }

        boolean enable = false;

        boolean accountNonExpired = false;

        boolean credentialsNonExpired = false;

        boolean accountNonLocked = false;

        return new org.springframework.security.core.userdetails.User(user.getUsername(),

                user.getPassword(), enable, accountNonExpired, credentialsNonExpired,

                accountNonLocked, null);

    }





    @Override

    public void save(User user) {

        userRepository.save(user);

    }



    @Override

    public Iterable<User> findAll() {

        return userRepository.findAll();

    }



    @Override

    public User findByUsername(String username) {

        return userRepository.findByUsername(username);

    }



    @Override

    public Optional<User> findById(Long id) {

        return userRepository.findById(id);

    }



    @Override

    public boolean checkLogin(User user) {

        Iterable<User> users = this.findAll();

        boolean isCorrectUser = false;

        for (User currentUser : users) {

            if (currentUser.getUsername().equals(user.getUsername())

                    && user.getPassword().equals(currentUser.getPassword()) &&

                    currentUser.isEnabled()) {

                isCorrectUser = true;

            }

        }

        return isCorrectUser;

    }



    @Override

    public User findByEmail(String email) {

        return userRepository.findByEmail(email);

    }



    @Override

    public boolean isCorrectConfirmPassword(User user) {

        boolean isCorrectConfirmPassword = false;

        if (user.getPassword().equals(user.getConfirmPassword())) {

            isCorrectConfirmPassword = true;

        }

        return isCorrectConfirmPassword;

    }

}
  • UserController

  • Và đây là kết quả sau khi đăng ký tài khoản thành công

Author: Nguyễn Minh Quân

 

Đăng ký nhận bộ tài liệu kỹ năng dành cho lập trình viên (video hướng dẫn + slide) tại đây

Tìm hiểu thêm về mô hình Coding Bootcamp tại đây

Tags:

1 Lời bình

  1. Võ Lê Văn

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

7 + 1 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM