Я пытаюсь создать веб-сервер с ядром 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 и многих других стеков. переполненные посты, но, похоже, никто не отвечает на эти вопросы полностью, или, по крайней мере, я не нашел этих ответов.
Возможное решение, которое, я не уверен, является лучшей практикой:
- Аутентификация внешнего интерфейса с помощью Google, как я делаю сейчас
- Отправка
id_token
на сервер на каком-то контроллере, который я создаю, как / api / auth / google - Проверка этого токена с помощью что-то вроде
GoogleJsonWebSignature.ValidateAsync(Token);
- Создайте ASP. NET повар ie, следуя этому руководству , и используйте этот повар ie для сохранения аутентификации