0

我有一个网络应用程序,它使用该Xero.NetStandard.OAuth2Client包来允许使用 Xero 进行身份验证。

一旦用户被重定向回我的应用程序,我使用该IXeroClient.RequestAccessTokenAsync方法将他们的代码交换为一个IXeroToken对象,这允许我按预期对 Xero API 进行调用。

我不知道该怎么做的一件事,我似乎无法在官方文档中找到,是如何从IXeroToken对象中提取用户的详细信息(即他们的姓名和电子邮件地址)。

根据标准,信息在IdToken属性中被编码为 JWT 字符串,但我不确定在没有额外依赖项的情况下如何从中获取信息。

4

1 回答 1

1

内置System.IdentityModel.Tokens.Jwt.JwtSecurityToken类可以反序列化IdToken有效负载。

new JwtSecurityToken(accessToken.IdToken).Claims包含令牌中的所有声明。

相关类型有:

  • email- 用户的电子邮件
  • xero_userid- 用户的 id (guid)
  • given_name- 用户的名字
  • family_name- 用户的姓氏

权利要求的存在显然取决于设定的适当范围。

于 2021-03-31T03:52:12.077 回答