我有一个Web应用程序,它使用Xero.NetStandard.OAuth2Client
包来允许使用Xero进行身份验证。
一旦用户被重定向回我的应用程序,我就使用IXeroClient.RequestAccessTokenAsync
方法将他们的代码交换为IXeroToken
对象,这允许我按照预期对Xero API进行调用。
有一件事我不知道如何做,而且我似乎在官方文档中找不到,那就是如何从IXeroToken
对象中提取用户的详细信息(即他们的姓名和电子邮件地址)。
根据标准,信息被编码为IdToken
属性中的JWT字符串,但我不确定如何在没有额外依赖的情况下从其中获取信息。
1条答案
按热度按时间vc9ivgsu1#
内置的
System.IdentityModel.Tokens.Jwt.JwtSecurityToken
类可以将IdToken
有效负载封装。new JwtSecurityToken(accessToken.IdToken).Claims
包含令牌中的所有声明。相关类型为:
email
-用户的电子邮件xero_userid
-用户的id(guid)given_name
-用户的名字family_name
-用户的姓氏权利要求的存在显然取决于设定的适当范围。