Исследуя способы интеграции google login
в свое приложение, я нашел несколько разных способов:
Имея под рукой все эти варианты, я не совсем уверен, какой вариант лучше всего реализовать. № 1 (из-за того, что он устарел) и 5 (для больших настраиваемых приложений) — не мой выбор. Итак, я задаюсь вопросом, между ГИС и сторонними библиотеками из-за путаницы, добавленной поверх номера. 3.
Мне интересно, интегрировали ли эти библиотеки внутри себя Gapi, поскольку, похоже, это библиотеки oauth2.0, опубликованные Google, и, следовательно, все эти библиотеки могут быть устаревшими, или они будут обновлены до ГИС, и в этом случае нам не нужно эти библиотеки?
Каково было бы обоснование выбора между этими двумя подходами? Стоит ли интегрировать SDK/lib, созданный Google, или стороннюю библиотеку? И как бы я узнал, обновились ли библиотеки до новых политик Google и прекращения поддержки GAPI, если бы они его использовали?
Редактировать: Также интересно, будут ли эти библиотеки поддерживать FedCM, который , по их словам, имеет решающее значение после миграции сторонних файлов cookie . Судя по их исходному коду, они используют одну библиотеку под названием oauth4webapi для реализации next/auth (может быть, и другие?), но я не могу найти ничего, что бы упоминало FedCM в их документах. Аналогичная ситуация и с реализацией oauth в паспорте-js (Я думаю, используется oauth, последняя публикация была 2 года назад)
Вы можете добавить next-auth
только в следующем проекте и passport
для аутентификации на сервере. clerk
и kinde
— хорошие варианты, которые можно интегрировать с разными поставщиками аутентификации, а не только с Google.
если вы фокусируетесь только на Google Auth, попробуйте этот npm @react-oauth/google
https://blog.logrocket.com/guide-adding-google-login-react-app/
При таком большом количестве способов интеграции входа в Google может быть сложно сделать выбор. Вот краткое руководство:
npm install next-auth
import NextAuth from 'next-auth
import GoogleProvider from 'next-auth/providers
export default NextAuth({
providers: [
GoogleProvider({
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
}),
],
});
.env
:
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
Вам придется просмотреть репозитории для следующей аутентификации и паспорта, чтобы узнать, будут ли они обновлены с поддержкой FedCM и когда они будут обновлены. Им может потребоваться некоторое время, чтобы принять эти изменения.
Надеюсь это поможет! Дайте мне знать, если у вас есть еще вопросы.
Спасибо за потрясающий ответ. На самом деле я проверил репозитории next-auth и паспорта, и, насколько я мог видеть, они использовали такие вещи, как пакеты «npm oauth» или «npm oauth4web». В большинстве из них ничего не упоминается о FedCM или миграции сторонних файлов cookie. Несмотря на то, что Oauth является стандартным протоколом, изобретенным не Google, в какой-то момент им придется ответить на информацию Google, если они хотят интегрироваться со службами Google (которые в данном случае) раскрывают информацию, связанную с созданием приложений, получением идентификатора клиента и т. д. Итак, я считаю, что эти библиотеки будут менее пригодными для использования, если они не будут обновляться, верно?
Спасибо за продолжение! next-auth и паспорт могут еще не поддерживать FedCM. Следите за обновлениями в их репозиториях на GitHub. Для получения новейшей безопасности и немедленной поддержки FedCM используйте Google Identity Services (GIS). Если вам нужна гибкость при работе с несколькими провайдерами, вам подойдут следующая аутентификация и паспорт, но они зависят от своевременных обновлений сообщества. Надеюсь это поможет!
@CaferYükseloğlu, наткнулся на этот пост... и хотел бы добавить, даже они упоминают, что библиотека входа в Google устарела (Developers.google.com/identity/gsi/web/guides/migration , ... . как целиком?) они по-прежнему рекомендуют проверять полученный токен, используя тот же: Developers.google.com/identity/gsi/web/guides/… . Интересно, есть ли у них репозиторий и для нового ГИС?
куб.см. @BumbleBee, посмотри мой комментарий выше
Спасибо за ответ, но он не совсем отвечает на мои вопросы. Кроме того, я добавил редактирование об интеграции FedCM этих сторонних библиотек, можем ли мы ожидать, что они это поддержат?