17
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FirebaseでMicrosoftアカウント認証

Last updated at Posted at 2021-02-23

以下の本家のページにMicrosoft認証の話が書いてありますが、Azure側でどうすれば良いのか、書いてないので、備忘録も兼ねて投稿します。
https://firebase.google.com/docs/auth/web/microsoft-oauth?hl=ja

JavaScript

リダイレクト部分

const provider = new firebase.auth.OAuthProvider('microsoft.com')
provider.setCustomParameters({ prompt: 'consent' })
firebase.auth().signInWithRedirect(provider)

Callback部分

  • Google認証、Facebook認証だとonAuthStateChangedだけで十分ですが、Microsoft認証だとgetRedirectResultも必要になります。
const onAuthStateChanged = async (): Promise<firebase.User | null> => {
  await firebase.auth().getRedirectResult()
  return new Promise((resolve) => {
    firebase.auth().onAuthStateChanged((user) => resolve(user))
  })
}

Azure

  • https://portal.azure.com/ にログインして、Azure Active Directoryの管理を選択します。
    スクリーンショット 2021-02-23 14.25.12.png

  • アプリを新規登録
    スクリーンショット 2021-02-23 14.26.05.png

  • サポートされているアカウントの種類は、自身のサービスに一致するものを選んでください。

  • リダイレクトURIは、Firebaseの画面で表示されたものをコピペします。
    スクリーンショット 2021-02-23 14.27.52.png

  • 登録後にアプリケーションIDが表示されるので、これをFirebaseで登録することになります。
    スクリーンショット 2021-02-23 14.29.08.png

  • Firbaesの画面でシークレットキーも設定する必要があるので、クライアントシークレットを発行します。
    スクリーンショット 2021-02-23 14.31.23.png

  • 発行した時のIDは不要です。 使うのは値だけ です。
    スクリーンショット 2021-02-23 14.55.55.png

  • Firebaseの画面で設定するのは以上で終わりなのですが、認証後のCallbackで値をもらうために、APIの設定が必要になります。

  • アクセス許可の追加を選択します。
    スクリーンショット 2021-02-23 14.31.59.png

  • Microsoft Graphを選択します。
    スクリーンショット 2021-02-23 14.32.30.png

  • 取得したいものを選択します。emailは必要だと思いますが、他は必要に応じて選択してください。
    スクリーンショット 2021-02-23 14.33.02.png

Firebase

  • アプリケーションIDとシークレットキーはAzureで取得した内容を設定します。
    スクリーンショット 2021-02-23 14.39.39.png

  • 以上で終わりになります。お疲れ様でした。

Special Thanks

17
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?