gpt4 book ai didi

c# - Apple 登录 - 验证 ID token

转载 作者:行者123 更新时间:2023-12-04 07:47:57 31 4
gpt4 key购买 nike

我正在移动应用程序中实现 Apple 登录。登录成功后,我得到了有效期为一天的 ID token 。
这是我在登录后收到的示例 JWT token :

eyJraWQiOiJZdXlYb1kiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwcGxlaWQuYXBwbGUuY29tIiwiYXVkIjoiY29tLmNsdWJiYWJsZSIsImV4cCI6MTYxODU4NTcyOCwiaWF0IjoxNjE4NDk5MzI4LCJzdWIiOiIwMDE4NTAuMzdkY2NmZGIxYzEyNDliY2E2NjE5YThkYjQ2MWFlNDkuMDQzMyIsImNfaGFzaCI6InVMTUV1eTRCaFozRVc1NXR1OXZtZGciLCJhdXRoX3RpbWUiOjE2MTg0OTkzMjgsIm5vbmNlX3N1cHBvcnRlZCI6dHJ1ZX0.e86uz4Qqu63mD0hHVdzBU3EfW0G-rDUprBiXkyPkvPIHIWPM1LyjpFs2GeoWAcdfUdmGww6C8SLLgk4iMKjK_yrpxiQBmbIzdCLBrwW4P8Y40llcrotyRuwyalfycyUJ8GP9yqjs5_R7yZlDd4oq0wrDNyXVjlbdGSfNUGqmXScBgXm3yCH0rD85GK0hX3XM-fA133Y5tj1DRALZhnw2GLy-6YEPBlqFE-cvu9aif9ajuDx3gPwp9AQ_nXP3pWjSg2G5eYx7UMpowXbAVoDSlhQVu_KJgxPsW61i50QnhykmeNA7LxA2iLQnlGk5VKzNlATub49SybUnmPSViO_Fbw
现在我想使用 JwtSecurityTokenHandler 来验证这个 token 在 System.IdentityModel.Tokens.Jwt 下可用.
我写了以下代码:
tokenHandler.ValidateToken(body.access_token, new TokenValidationParameters() 
{
ValidateIssuer = true,
ValidIssuers = new List<string> { appleTokenIssuerName },
ValidateAudience = true,
ValidAudiences = new List<string> { appleAppClientId },
ValidateLifetime = false,
ValidateIssuerSigningKey = true,
IssuerSigningKey = // I want to pass signing key here but I'm not sure how can I do that.
}, out SecurityToken token);
Apple 签名 key 可用作此处设置的 Json Web key - https://appleid.apple.com/auth/keys
你能帮我找到正确的方法把这个 key 提供给 SecurityKey范围?

最佳答案

最简单的方法是使用 JsonWebKey并将带有其中一个键的 JSON 传递给构造函数。一种更优雅的方法是创建一个解析器,它可以在需要时从 Apple 下载这些 key 。这也将使您能够在 Apple 旋转时创建回退和刷新 key 。

关于c# - Apple 登录 - 验证 ID token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67120225/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com