То, что я пытаюсь сделать
Я пытаюсь реализовать Google OpenID Connect как средство входа в систему ASP. NET Core 3.1 веб-сайт с использованием инструкций Google:
https://developers.google.com/identity/protocols/oauth2/openid-connect#server -flow
В рамках шага 2 потока сервера (отправьте запрос аутентификации в Google) они рекомендуют получать информацию из своего документа обнаружения OpenID:
Вы должны получить базовый URI из документа обнаружения , используя значение метаданных authorization_endpoint
.
В настоящее время я пытаюсь динамически десериализовать JSON
в Dictionary<string, string>
по using Newtonsoft.Json
. Но это вызывает у меня некоторые проблемы (похоже, не удается десериализовать JSON string array
), и я подумываю изменить свою стратегию на создание model
для документа открытия и using System.Text.Json
для десериализации.
Сейчас мой вопрос:
Насколько чувствителен Документ открытия Google к изменениям, которые могут привести к тому, что мне придется обновить мой DiscoveryDocument.cs model
?
Дилемма
с способ Newtonsoft.Json
все еще будет работать, даже если Google решит удалить случайный ключ.
Но использование System.Text.Json
для меня теперь простой выход и устраняет зависимость от библиотеки Newtonsoft, хотя Позже у меня могут возникнуть проблемы, если Google Discovery Document изменится.