Аутентификация одного клиента Microsoft с помощью Firebase - PullRequest
2 голосов
/ 23 апреля 2019

Для приложения, связанного с работой, я использую аутентификацию Firebase с Microsoft.В этом случае, однако, важно, чтобы только люди из моей компании (мы используем Office 365) могли войти в это приложение.У меня все настроено и работает в не-пожарном контексте.Но когда я использую Firebase для аутентификации, он всегда указывает на конечную точку /common/.Это вызывает проблемы с моим приложением с одним арендатором.Если я настрою приложение для приема всех арендаторов, приложение снова будет работать.Но очевидно, что теперь каждый может войти в мое приложение.

The problem

Всплывающее окно вызывается довольно условно:

  const provider = new auth.OAuthProvider("microsoft.com");
  provider.setCustomParameters({
    tenant: "[tenantName].com"
  });

  auth()
    .signInWithPopup(provider)
    .then(result => {

Но я не могу найти никаких инструкций по изменению конечной точки oauth для использования конечной точки одного арендатора.

Как бы я поступил так?

Ответы [ 2 ]

2 голосов
/ 24 апреля 2019

Но я не могу найти никаких инструкций по изменению конечной точки oauth для использования конечной точки одного арендатора.

Мы не можем изменить конечную точку oauth, даже если мы добавляем информацию об арендаторедля пользовательских параметров.Конечную точку всегда используют в качестве значения арендатора.Это дизайн по умолчанию.

Если мы включим Microsoft в качестве поставщика входа, пользователи, использующие учетные записи Microsoft (Azure Active Directory и личные учетные записи Microsoft), могут выполнять вход.

0 голосов
/ 05 июня 2019

Оказывается, вышесказанное не совсем верно. Я переключился на вход с помощью перенаправления, и теперь это (загадочно) работает.

  const provider = new auth.OAuthProvider("microsoft.com");
  provider.setCustomParameters({
    tenant: "[tenant].com"
  });


  auth().signInWithRedirect(provider);

Я проверял это. Арендатор назван в перенаправлении, и люди из других арендаторов не могут войти в систему.

...