Как реализовать вход в собственное приложение Facebook в Ionic 3 с помощью API ядра .NET

У меня есть API аутентификации .Net Core с OpenIddict и клиентом .Net Core Api. Сейчас я создаю собственное приложение для Ionic 3 и хочу реализовать вход в систему через Facebook, при котором люди могут входить в систему через родное приложение Facebook. Пока что я нашел только примеры, в которых используется веб вход в Facebook.

Пока у меня есть:

  • рабочий .Net Core Auth API, который возвращает токены Jwt
  • рабочий API клиента .Net Core, который принимает эти токены JWT
  • рабочее приложение Ionic 3, которое может войти в систему с именем пользователя + паролем, получить токен и использовать его.
  • работающее приложение Ionic 3 с входом в Facebook, которое входит в систему через родное приложение Facebook (через плагин Cordova)

Кажется, что поток кода - это правильный путь, но все примеры перенаправляют на страницу входа в Facebook web, поэтому пользователю, вероятно, все равно придется войти в Facebook, в то время как его родное приложение Facebook уже вошло в систему .

Мой вопрос: как я могу получить токен JWT из OpenIddict Auth Api, чтобы я мог использовать свой клиентский API, после того, как пользователь вошел в систему через Facebook в моем приложении Ionic? Или мне следует как-то изменить поток, когда для входа в систему используется собственное приложение Facebook?

обновление: в Ionic я получаю UserId Facebook, который равен AspNetUserLogins.ProviderKey. Достаточно ли это безопасно для входа в ваш Api?


person kloarubeek    schedule 30.07.2017    source источник


Ответы (1)


Если использование потока кода или открытие системного браузера для интерактивного завершения процесса аутентификации (включая этап аутентификации FB) определенно не подходят для вас, рассмотрите возможность использования настраиваемого разрешения, чтобы позволить вашему мобильному приложению активировать токен доступа FB (или авторизацию code) с токеном доступа, выданным OpenIddict.

Для получения дополнительной информации см. Эту другую ветку SO: Rich Twitter Digits / Google Auth с OpenIdDictServer

person Kévin Chalet    schedule 31.07.2017
comment
спасибо, я уже боялся, что мне придется пойти по этому пути. Я посмотрю, поможет ли это мне! - person kloarubeek; 01.08.2017