[개발] Firebase 에서 이메일 주소로 인증 링크를 전송하여 로그인하기steemCreated with Sketch.

in UPVUlast year

안녕하세요 @realmankwon 입니다.

Firebase에서 사용자의 이메일 주소로 인증 링크를 전송하여 로그인하는 JavaScript 소스는 다음과 같습니다.

const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_SENDER_ID",
  appId: "YOUR_APP_ID",
};

firebase.initializeApp(firebaseConfig);

const auth = firebase.auth();

const emailAddress = "<USER EMAIL ADDRESS>";
const actionCodeSettings = {
  url: "https://<YOUR WEBSITE URL>",
  handleCodeInApp: true,
};

auth.sendSignInLinkToEmail(emailAddress, actionCodeSettings)
  .then(() => {
    console.log("Sign-in email sent successfully!");
    // Save the email locally so you can prompt the user to click the link in their email
    localStorage.setItem("emailForSignIn", emailAddress);
  })
  .catch((error) => {
    console.error("Error sending sign-in email:", error);
  });

위 코드에서 부분은 해당되는 값을 넣어주어야 합니다.

sendSignInLinkToEmail 함수는 인증 링크를 생성하고, 해당 이메일 주소로 전송하는 Firebase Authentication의 함수입니다. 이 함수는 사용자의 이메일 주소와 인증 링크를 클릭했을 때 열리는 URL을 설정하는 actionCodeSettings 객체를 매개 변수로 받습니다.

위 코드에서 localStorage.setItem("emailForSignIn", emailAddress) 구문은 사용자의 이메일 주소를 로컬 스토리지에 저장합니다. 이 이메일 주소는 나중에 사용자가 링크를 클릭하여 로그인을 완료할 때 사용됩니다.

이 인증 링크는 사용자가 클릭하면, Firebase Authentication에서 자동으로 사용자를 인증하고, 사용자 정보를 가져올 수 있습니다.

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.029
BTC 67749.41
ETH 3262.59
USDT 1.00
SBD 2.64