Я работаю над ASP.NET Core API, и мне нужно добавить возможность регистрации в социальной службе, например. Facebook. Сценарий должен быть, например, Пользователь Android-приложения должен нажать «Зарегистрироваться через Facebook» при запуске, затем должно открыться приложение Facebook, затем пользователь должен нажать «Подтвердить» и зарегистрироваться в приложении.
Веб-пример Asp.net по умолчанию показывает, как это сделать с веб-страницей на том же хосте, что и API с ответом return Challenge (), который, как я понял, в основном возвращает HTML-страницу.
Каков здесь правильный поток и есть ли для этого существующие библиотеки? Насколько я понимаю, теперь поток выглядит примерно так: 1. Сервер API имеет мои AppId и AppSecret от Facebook 2. Приложение Android должно запрашивать «токен приложения» с сервера API 3. Приложение Android должно вызывать Facebook с этим токеном и получать «токен подтверждения пользователя. «4. Приложение Android должно передать« токен подтверждения пользователя »на сервер API 5. Сервер API должен вызвать Facebook с« токеном AppId / AppSecret + токен подтверждения пользователя »и получить подробную информацию о пользователе и создать локального пользователя в базе данных. 6. Сервер API должен создать «токен API» для этого пользователя. 7. Приложение Android должно использовать «токен API»
По крайней мере, я хочу понять, чем заменить этот код из примера на:
public IActionResult ExternalLogin(string provider, string returnUrl = null) {
// Request a redirect to the external login provider.
var redirectUrl = Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl });
var properties = signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl);
return Challenge(properties, provider);