微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

我不知道该怎么做,而且在官方文档中似乎找不到的一件事是,我如何从 {{1} } 对象。

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

解决方法

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

IdToken 包含令牌中的所有声明。

相关类型有:

  • new JwtSecurityToken(accessToken.IdToken).Claims - 用户的电子邮件
  • email - 用户的 ID (guid)
  • xero_userid - 用户的名字
  • given_name - 用户的姓氏

权利要求的存在显然以设置的适当范围为条件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。