Ionic 3 родной процесс входа в Facebook - PullRequest
0 голосов
/ 04 мая 2018

Я только что закончил процесс входа в Ionic 3 с родным плагином для входа в Facebook. Кажется, все работает нормально.
Я получаю свои данные на Facebook и сохраняю их с помощью плагина для хранения.

Здесь начинается странная часть для меня.

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

Раствор 1
Когда пользователь входит в систему в первый раз, данные сохраняются, поэтому в следующий раз, когда он открывает приложение, в app.component.ts я проверяю, существуют ли сохраненные мной данные (ex userId).

storage.get('userID').then((val) => {
   this.isLoggedIn = true;
   this.setRoot(MainPage);
});

Решение 2
Я использую функцию getLoginStatus, и если возвращает response.status === 'connected', я предполагаю, что пользователь был аутентифицирован ранее и сохраненные данные существуют.

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

1 Ответ

0 голосов
/ 04 мая 2018

Я бы сказал, что это зависит от безопасности, которую вы ищете, имеет ли ваше приложение работу с конфиденциальной информацией?

Если нет, то вы можете просто сохранить идентификатор пользователя (ваше решение 1), и вы в порядке.

Если вы имеете дело с конфиденциальными данными, то вам следует подумать о том, чтобы иметь более безопасную систему (например, вы должны учитывать, что пользователь может потерять свой телефон и поэтому пользователь может захотеть отключить доступ ...) Чтобы обезопасить процесс с фейсбука, возможен следующий путь:

  • отправьте полученный с помощью аутентификации facebook идентификатор access_token на удаленный сервер, где вы можете проверить его ( здесь ссылка для получения дополнительной информации )
  • сохранить на своем сервере токен, соответствующий вашему новому пользователю (например, веб-токен json)
  • отправьте обратно этот токен и сохраните его локально
  • для каждой проверки подлинности, чтобы токен все еще действовал на стороне сервера

Я рекомендую вам прочитать уроки, написанные Джошем Морони:

https://www.joshmorony.com/using-json-web-tokens-jwt-for-custom-authentication-in-ionic-2-part-2/

https://www.joshmorony.com/creating-role-based-authentication-with-passport-in-ionic-2-part-2/

https://www.joshmorony.com/basic-security-for-ionic-cordova-applications/

...