Создание и защита API Angular и остального узла с использованием авторизации Google - PullRequest
0 голосов
/ 11 сентября 2018

Мой REST API использует Node.js и Expressjs, у меня также есть отдельное приложение Angular 6, которое использует конечные точки API. Я хочу интегрировать логин Google в приложение. То есть из приложения Angular пользователь может войти через Google. Остальные API должны быть доступны только зарегистрированным пользователям.

Каковы лучшие библиотеки / подходы для этого?

Ответы [ 2 ]

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

У меня была похожая проблема, и я использовал библиотеку auth0 .Уловка с auth0 заключается в том, что вы используете их библиотеку и серверы для аутентификации (токены и т. Д.), И они управляют всем.

На их веб-странице у вас есть учебник, объясняющий, как использовать его с angular https://auth0.com/docs/quickstart/spa/angular2/01-login

, а затем, как его интегрировать с nodejs: https://auth0.com/docs/quickstart/backend/nodejs/01-authorization

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

Вы хотите взглянуть на OAuth 2.0, это протокол аутентификации, который используется для входа в стороннюю службу.У Google есть их OAuth 2.0 документы здесь .

Вы можете реализовать это вручную или использовать библиотеку, такую ​​как Passport.js .Паспорт позволяет создавать несколько «стратегий» для входа в систему, поэтому вы можете создать стратегию Google и стратегию Facebook, которые позволят пользователям входить в систему с помощью Google или Facebook.С помощью Passport вы, как правило, настраиваете сам паспорт, а затем добавляете некоторые дополнительные стратегические модули, которые реализуют основной код Google OAuth, затем вы предоставляете несколько дополнительных функций, которые позволяют взаимодействовать с вашей базой данных после выполнения различных запросов Google API.

Паспорт и стратегия Google для паспорта будут обрабатывать API, «танцующий» с Google, и они затем предоставят вам профиль Google для пользователей, который вы можете использовать, чтобы добавить пользователя в свою базу данных, или найдите их, если онисуществующий пользователь.Затем вы можете использовать паспорт и сессионную библиотеку, чтобы назначить сессионный cookie.Это должно дать вам достаточный обзор, чтобы начать работу, для этого есть множество руководств, поэтому вам не нужно идти в слепую реализацию.

...