ASP. NET Core 3.1 Web API Social Login без идентификации - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь создать веб-сервер с ядром ASP. NET в качестве внутреннего интерфейса и SPA с vue. js в качестве внешнего интерфейса. Я хотел бы, чтобы этот сервер мог потенциально обслуживать ios, android и т. Д. 1038 * в будущем. Я также хотел бы, чтобы пользователи могли выполнять вход с помощью своих учетных записей в социальных сетях.

До сих пор я работал над входами в Google и следовал этому руководству от Google. Мой интерфейс аутентифицируется в Google нормально, и я могу получить id_token. На данный момент я знаю, что токен нужно отправить на сервер для проверки, но я не совсем уверен, как это сделать или что делать дальше. Я также не знаю, как будет сохраняться состояние входа в систему сайта. Будет ли он использовать повар ie от Google, который проверяется при каждом запросе? Повар ie от ASP. NET, который подтверждается каждым запросом? Что-то еще все вместе? Как правило, после проверки подлинности, как проверяются все остальные запросы API к моему серверу?

После проверки id_token ASP. NET создает Cook ie для сохранения аутентификации и Я могу просто следовать этому руководству от Microsoft? Или какой-то гугл-повар ie создается и используется для каждого запроса? Если последнее, как это будет работать для поставщиков, отличных от Google?

Я также прочитал Настройка внешнего входа в Google в ASP. NET Core от Microsoft и многих других стеков. переполненные посты, но, похоже, никто не отвечает на эти вопросы полностью, или, по крайней мере, я не нашел этих ответов.

Возможное решение, которое, я не уверен, является лучшей практикой:

  1. Аутентификация внешнего интерфейса с помощью Google, как я делаю сейчас
  2. Отправка id_token на сервер на каком-то контроллере, который я создаю, как / api / auth / google
  3. Проверка этого токена с помощью что-то вроде GoogleJsonWebSignature.ValidateAsync(Token);
  4. Создайте ASP. NET повар ie, следуя этому руководству , и используйте этот повар ie для сохранения аутентификации
...