Вы просите слишком много в одном посте, что затрудняет помощь. Я попытаюсь обратиться к ниже, но, пожалуйста, следуйте советам по Как мне задать хороший вопрос в будущем.
Общий подход для добавления LINE в качестве поставщика аутентификации заключается в следующем. показано в этом сообщении в блоге: Аутентификация пользователей Firebase с помощью LINE Login . Существует также пример , который показывает, как использовать облачные функции в качестве компонента сервера для этого. Если вы застряли в реализации этих программ для Flutter, опубликуйте минимальный , полный / автономный код, который воспроизводит эту проблему .
- API на стороне клиента : logInWithCredential может работать ТОЛЬКО с поддерживаемыми Firebase методами входа, и вы должны включить их в консоли Firebase. Я прав?
Нет, вы не правы. Вы также можете предоставить своего собственного провайдера для входа в систему для Firebase и использовать токены, которые вы там пишете, с помощью Firebase Authentication SDK.
Это похоже на взлом, есть ли лучший способ?
UID может быть любым, но вы должны убедиться, что он уникален. Распространенным способом обеспечения уникальности global является встраивание некоторого идентификатора провайдера в UID. Если вы предпочитаете другой способ обеспечения глобальной уникальности, вы тоже можете использовать его, конечно.
У меня нет возможности установить его отображаемое имя или другую основную информацию c info [при создании учетной записи]
Это действительно распространенная проблема с некоторыми поставщиками, так как вы Например, нельзя установить отображаемое имя для провайдера электронной почты и паролей, пока после не будет создана учетная запись. Вместе с пользовательским провайдером вы можете поместить любую информацию в исходную JWT, которую вы уже хотите.
можем ли мы связать пользователя с логином LINE? Какой из них не является встроенным провайдером аутентификации Firebase?
См. Связывание провайдера аутентификации с Firebase