Firebase Auth - настраиваемый домен перенаправления выдает предупреждение NET :: ERR_CERT_COMMON_NAME_INVALID - PullRequest
0 голосов
/ 07 сентября 2018

Я использую проверку подлинности Firebase для своего веб-приложения и настраиваю домен перенаправления для функции входа в систему Firebase Authentication Google, чтобы страница проверки подлинности Google отображалась

Показать Перейти к: https://auth.mydomain.com,

вместо Перейти к: https://my-app-12345.firebaseapp.com.

Итак, я сделал четыре шага в соответствии с инструкциями Документация Firebase :

(1) Создать запись CNAME для auth.mydomain.com, которая указывает на my-app-12345.firebaseapp.com

(2) Добавить auth.mydomain.com в список авторизованных доменов в консоли Firebase

(3) На странице настройки Google OAuth внесите в белый список URL-адрес страницы перенаправления, https://auth.mydomain.com/__/auth/handler

(4) Отредактируйте код JavaScript моего приложения, который инициализирует библиотеку Firebase:

var config = {
  ...
  // from 'authDomain: my-app-12345.firebaseapp.com,'
  authDomain: 'auth.mydomain.com',
  ...
};

Однако после этого, когда мое приложение вызывает метод firebase.auth().signInWithRedirect(provider), веб-браузер отобразит предупреждение о конфиденциальности, как показано ниже:

Ваше соединение не является частным

Злоумышленники могут пытаться украсть вашу информацию у auth.mydomain.com (например, пароли, сообщения или кредитные карты). Узнать больше

NET :: ERR_CERT_COMMON_NAME_INVALID

...

Этот сервер не может доказать, что это auth.mydomain.com ; его сертификат безопасности от firebaseapp.com . Это может быть вызвано неверной конфигурацией или злоумышленником, перехватывающим ваше соединение.

Перейдите на auth.mydomain.com (небезопасно)

И информация о сертификате выглядит следующим образом:

firebaseapp.com

Выдано: Google Internet Authority G3

Истекает: вторник, 13 ноября 2018

Этот сертификат действителен.

Детали

Имя субъекта

Страна: США

Штат / провинция: Калифорния

Населенный пункт: Маунтин-Вью

Организация: Google Inc

Общее имя: firebaseapp.com

И ниже URI:

https://auth.mydomain.com/__/auth/handler?apiKey=apiKey&appName=%5BDEFAULT%5D&authType=signInViaRedirect&providerId=google.com&scopes=profile&redirectUrl=https%3A%2F%2Fwww.mydomain.com%2Flogin&v=5.0.4

Почему настраивается домен перенаправления для запроса входа в систему Google NET::ERR_CERT_COMMON_NAME_INVALID, и как это сделать, чтобы предупреждающее сообщение не появлялось, например добавление альтернативных имен субъектов в сертификат с использованием собственного сертификата auth.mydomain.com?

Кстати, на приведенной выше странице предупреждения, если Перейдите на auth.mydomain.com (небезопасно) , аутентификация будет работать как положено.

1 Ответ

0 голосов
/ 13 сентября 2018

Поскольку auth.mydomain.com указывает на my-app-12345.firebaseapp.com через запись CNAME, хост firebaseapp.com должен предоставить сертификат SSL для auth.mydomain.com. Это необходимо сделать на странице хостинга Firebase, даже если my-app-12345 не использует хостинг Firebase. Вот пошаговый метод для этого, основанный на документации Firebase :

  1. В консоли Firebase проекта my-app-12345 выберите Хостинг в боковом меню.
  2. Когда появится всплывающее окно «Настройка хостинга», нажмите «Продолжить». Затем нажмите Готово.
  3. На странице Хостинг нажмите Подключить домен.
  4. Когда появится всплывающее окно «Подключить домен», введите auth.mydomain.com. Затем установите флажок «Перенаправить auth.mydomain.com на существующий веб-сайт». Затем введите my-app-12345.firebaseapp.com. Затем нажмите Продолжить.
  5. Когда появится «Добавить записи TXT ниже вашему провайдеру DNS, чтобы подтвердить ваше собственное всплывающее окно mydomain.com», следуйте инструкциям. И нажмите Подтвердить. (Проверка может занять несколько минут). Затем нажмите Готово.

Теперь auth.mydomain.com появится в разделе домена со статусом Pending. Скоро он будет изменен на Connected. И через некоторое время проблема предупреждения NET::ERR_CERT_COMMON_NAME_INVALID исчезнет.

P.S. С помощью команды технической поддержки Firebase я получил ответ на свой вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...