我关注了以下博客post,以实现Apple登录。它是很久以前写的,当时没有id_token包含用户信息。当我请求令牌API时,会收到带有多个字段的JSON。问题是如何对id_token字段中的数据进行解码以获得电子邮件地址和用户ID。
lunatic999 回答:如何在令牌响应中解码Apple登录id_token
感谢@Dai,
结果非常简单:
var responseJSON = JObject.Parse(appleTokenResponseString);
var id_token = responseJSON.GetValue("id_token").ToString();
var handler = new JwtSecurityTokenHandler();
var jwt = handler.ReadJwtToken(id_token);
foreach (var claim in jwt.Claims)
{
System.Diagnostics.Debug.WriteLine($"{claim.Type}:{claim.Value}");
}