Microsoftログイン

1import React from 'react';
2import { OAuthProvider, signInWithPopup } from 'firebase/auth';
3import { SiMicrosoft } from 'react-icons/si';
4import { auth } from '../firebase/client';
5
6const MicrosoftLogin = () => {
7  const login = () => {
8    const provider = new OAuthProvider('microsoft.com');
9
10    signInWithPopup(auth, provider)
11      .then(() => {
12        alert('ログインしました');
13      })
14      .catch((error) => {
15        switch (error.code) {
16          case 'auth/account-exists-with-different-credential':
17            return alert('同じメールアドレスのアカウントが既に存在します');
18        }
19      });
20  };
21
22  return (
23    <div>
24      <button
25        onClick={login}
26        className="text-white bg-[#5E5E5E] px-4 py-2 rounded flex items-center space-x-2 shadow"
27      >
28        <SiMicrosoft />
29        <span>Microsoft でログイン</span>
30      </button>
31    </div>
32  );
33};
34
35export default MicrosoftLogin;

解説

1.Microsoftアカウントを作成して Azure Active Directory 設定画面に移動します。

2.追加 > アプリの登録 でアプリを作成します。

項目設定内容
サポートされているアカウントの種類任意の組織ディレクトリ内のアカウント (任意の Azure AD ディレクトリ - マルチテナント) と個人の Microsoft アカウント (Skype、Xbox など)
リダイレクト URIWeb、Firebaseダッシュボードの認証 > Microsoftログインを有効にした際、画面に表示されています。

3.アプリ管理画面のアプリケーション(クライアントID)をコピーし、Firebase Microsfort認証設定のアプリケーションIDにセットします。

4.[証明書とシークレット]を選択し、クライアントシークレットを作成したらを Firebase Microsfort認証設定のシークレットキーにセットします。有効期限を無期限にすることはできないので24か月等にしましょう。

5.APIのアクセスを許可>Microsoft Graphを選択し email と profile を許可します。

使用ライブラリ

なし

参考サイト