Создать пользователя Firebase только с именем пользователя и паролем? [Дубликат]

Если вы хотите исправить CRLF, который преобразуется в LF для текстовых узлов после вызова метода Save на XmlDocument, вы можете использовать экземпляр XmlWriterSettings. Использует тот же XmlWriter, что и MilesDavies192s отвечает , но также изменяет кодировку на utf-8 и сохраняет отступы.

$xml = [xml]([System.IO.File]::ReadAllText($fileName))
$xml.PreserveWhitespace = $true

# Change some element

#Settings object will instruct how the xml elements are written to the file
$settings = New-Object System.Xml.XmlWriterSettings
$settings.Indent = $true
#NewLineChars will affect all newlines
$settings.NewLineChars ="`r`n"
#Set an optional encoding, UTF-8 is the most used (without BOM)
$settings.Encoding = New-Object System.Text.UTF8Encoding( $false )

$w = [System.Xml.XmlWriter]::Create($fileName, $settings)
try{
    $xml.Save( $w )
} finally{
    $w.Dispose()
}

15
задан vikzilla 1 February 2016 в 00:42
поделиться

3 ответа

Простой: вы можете добавить любой домен за именем пользователя. Итак, как только вы определили имя пользователя, зарегистрируйте своего пользователя с помощью <username>@vikzillasapp.com.

Обратите внимание, что это не позволит пользователю сбросить свой пароль, если они его забудут, поскольку Firebase использует адрес электронной почты для отправки пароля для сброса пароля.

Если это не подходит вашим потребностям, вы можете свернуть собственный поставщик удостоверений, используя команды в документации Firebase . Для этого требуется код, который работает в надежной среде, для которой вы можете использовать свой собственный сервер или Cloud Functions для Firebase . В настоящее время даже пример этого в функции-samples repo .

16
ответ дан Frank van Puffelen 16 August 2018 в 00:48
поделиться
  • 1
    Хорошо, поэтому в моем коде я буду ссылаться на домен на любое уникальное имя пользователя, которое они вводят. Поэтому при входе в систему я просто добавлю этот домен к имени пользователя для аутентификации. Думаю, я понял это; благодаря! Слишком плохо, что мы не можем контролировать пароль, хотя, как вы уже упоминали, если они когда-либо захотят изменить пароль, мне тоже придется записывать их электронную почту. Это не относится ко всем приложениям; много раз электронная почта не требуется для приложения. – vikzilla 1 February 2016 в 04:47
  • 2
    Но если вы не можете сбросить пароли вовремя, если пользователь забудет их информацию, разве это не его ошибочный подход? – Sauron 20 February 2016 в 16:26
  • 3
    firebase ДЕЙСТВИТЕЛЬНО необходимо пропустить для вас аутентификацию через имя пользователя. Не только электронная почта – Ben Akin 11 August 2016 в 18:12
  • 4
    это было решено? – Zen 5 November 2016 в 16:47
  • 5
    Да, это действительно необходимо. – MJQZ1347 3 January 2017 в 01:18

Вы можете использовать пользовательский автозапуск firebase . Пользовательский auth - это метод, с помощью которого пользователь может войти в приложение, используя пользовательский токен.

Но вам нужен внутренний код, чтобы создать пользовательский токен , когда пользователь отправляет имя пользователя и пароль на этот бэкэнд.

К счастью, теперь есть облачная функция firebase с событием http, которая может легко решить вашу проблему. Шаг:

  1. Пользователь отправляет имя пользователя и пароль в URL-адрес облачной функции с помощью параметров запроса (GET) или тела запроса (POST)
  2. Облачное функционирование проверяет, есть ли имя пользователя и пароль (например: из базы данных реального времени)
  3. Если имя пользователя и пароль действительны, функция облака создаст собственный токен с помощью userId (вам нужно сохранить userId). Затем отправьте его в тело ответа
  4. . Затем клиент может войти в систему с помощью этого customToken
3
ответ дан faruk 16 August 2018 в 00:48
поделиться

Вместо того, чтобы использовать метод, в котором вы назначаете адрес электронной почты для пользователя, может быть лучшим вариантом для поиска адреса электронной почты в вашей базе данных.

Примером может быть:

  1. Подскажите имя пользователя для входа с именем пользователя и паролем
  2. Проверьте, что имя пользователя существует в вашей базе данных и получает соответствующий адрес электронной почты для этой учетной записи.
  3. Передайте этот адрес электронной почты логин легко
4
ответ дан Scott D 16 August 2018 в 00:48
поделиться
  • 1
    Интересная идея. Я думаю, проблема в том, что вам нужно будет открыть все эти электронные письма в своей базе данных. – StackAttack 17 December 2017 в 12:48
  • 2
    Это интересная идея, но работает только в том случае, если разрешения на чтение базы данных не требуются для входа в аккаунт пользователя, если только вы не создадите коллекцию общих разделяемых пользователей. – Hugo Castelani 17 May 2018 в 20:27
  • 3
    Правда, однако, вы, скорее всего, сделаете доступ к разрешениям на чтение базы данных, потому что в противном случае вы не могли бы проверить, что письмо уже существует при создании учетной записи (для предотвращения дублирования адресов электронной почты) – Scott D 15 June 2018 в 14:08
Другие вопросы по тегам:

Похожие вопросы: