c# 谷歌登录授权,通过验证客户端上报的IdToken的方式

c# 谷歌登录授权,通过验证客户端上报的IdToken的方式

  1. 需要通过nuget引用Google.Apis.Auth
  /// <summary>
  /// 验证token的类型
  /// </summary>
  /// <param name="token"></param>
  public async Task<GoogleTokenResult> CheckToken(string token)
  {
      try
      {
          var settings = new GoogleJsonWebSignature.ValidationSettings() { };
          var payload = await GoogleJsonWebSignature.ValidateAsync(token, settings);
          if (payload.IsNull())
          {
              throw new ValidateException("GoogleExpire", "谷歌验证失败");
          }
          GoogleTokenResult objGoogleTokenResult = new GoogleTokenResult
          {
              Audience = payload.Audience.IsNull() ? "" : payload.Audience.ToString(),
              Email = payload.Email,
              Email_Verified = payload.EmailVerified,
              Name = payload.Name,
              Picture = payload.Picture,
              Sub = payload.Subject
          };
          return objGoogleTokenResult;
      }
      catch (Exception ex)
      {
          throw new ValidateException("GoogleExpire", "谷歌验证失败");

      }
  }
public class GoogleTokenResult
{

    public string Sub { get; set; }
    public string? Audience { get; set; }

    public string Email { get; set; }
    public bool Email_Verified { get; set; }
    public string Name { get; set; }
    public string Picture { get; set; }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值