我想要做什么
我正在尝试使用 Google 的说明实现Google OpenID Connect作为登录ASP.NET Core 3.1网站的一种方式:
https://developers.google.com/identity/protocols/oauth2/openid-connect#server-flow
在服务器流程的第 2 步(向 Google 发送身份验证请求)下,他们建议从其OpenID 发现文档中检索信息:
您应该使用元数据值从发现文档中检索基本 URI 。
authorization_endpoint
我目前正在尝试动态反序列化JSON
到 a Dictionary<string, string>
by using Newtonsoft.Json
。但这给了我一些问题(似乎无法反序列化 a JSON string array
),我正在考虑改变我的策略,model
为发现文档创建 a 并using System.Text.Json
反序列化。
现在我的问题是
Google 的发现文档对导致我必须更新我的DiscoveryDocument.cs model
.
困境
Newtonsoft.Json
即使谷歌决定删除一个随机密钥,一切仍然可以正常工作。
但是System.Text.Json
现在使用 对我来说是一种简单的方法,并且消除了对 Newtonsoft 库的依赖,但如果 Google 的 Discovery Document 发生更改,我以后可能会遇到麻烦。