【发布时间】:2022-01-16 04:00:37
【问题描述】:
我已经复制了一个库来验证基于 respo 的 firebase 令牌。我的应用程序像后端一样使用 azure 函数,因此在用户登录后,每个操作都会使用令牌发送到 azure 函数,并且 azure 函数将验证该令牌然后响应结果。该库从here 获取公钥。我创建了一个天蓝色函数来测试这个库。我的要求:
var client = new RestClient("http://localhost:7071/api/test-connection");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("x-requested-with", "XMLHttpRequest");
request.AddHeader("Authorization", "Bearer <My Firebase Token>");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
我遇到了异常
IDX10516: Signature validation failed. Unable to match key:
kid: 'System.String'.
Exceptions caught:
'System.Text.StringBuilder'.
token: 'System.IdentityModel.Tokens.Jwt.JwtSecurityToken'. Valid Lifetime: 'System.Boolean'. Valid Issuer: 'System.Boolean'
我花了两天多的时间研究原因和解决方案。一周前我的代码运行良好。问题是我从google得到的公钥造成的吗?
【问题讨论】:
标签: c# firebase-authentication jwt