从Xero的OAuth流中获取用户电子邮件的惯用方法是什么

8yoxcaq7  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(64)

我有一个Web应用程序,它使用Xero.NetStandard.OAuth2Client包来允许使用Xero进行身份验证。
一旦用户被重定向回我的应用程序,我就使用IXeroClient.RequestAccessTokenAsync方法将他们的代码交换为IXeroToken对象,这允许我按照预期对Xero API进行调用。
有一件事我不知道如何做,而且我似乎在官方文档中找不到,那就是如何从IXeroToken对象中提取用户的详细信息(即他们的姓名和电子邮件地址)。
根据标准,信息被编码为IdToken属性中的JWT字符串,但我不确定如何在没有额外依赖的情况下从其中获取信息。

vc9ivgsu

vc9ivgsu1#

内置的System.IdentityModel.Tokens.Jwt.JwtSecurityToken类可以将IdToken有效负载封装。
new JwtSecurityToken(accessToken.IdToken).Claims包含令牌中的所有声明。
相关类型为:

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

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

相关问题