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 など) |
リダイレクト URI | Web、Firebaseダッシュボードの認証 > Microsoftログインを有効にした際、画面に表示されています。 |
3.アプリ管理画面のアプリケーション(クライアントID)をコピーし、Firebase Microsfort認証設定のアプリケーションIDにセットします。
4.[証明書とシークレット]を選択し、クライアントシークレットを作成したら値を Firebase Microsfort認証設定のシークレットキーにセットします。有効期限を無期限にすることはできないので24か月等にしましょう。
5.APIのアクセスを許可>Microsoft Graphを選択し email と profile を許可します。
なし