8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Google云调度程序http post错误415 FAILED_PRECONDITION

Furkan Edizkan 1月前

15 0

我在 asp.net mvc core 中创建了一个 webapi。api 控制器中的方法是这样修饰的 -[HttpPost]public async Task Post([FromBody] string value)然后我从 google 安排了一个作业...

我在 asp.net mvc core 中创建了一个 webapi。api 控制器中的方法装饰如下 -

[HttpPost]
public async Task Post([FromBody] string value)

然后我从 google cloud scheduler 安排了一个作业,使用 OIDC 令牌调用该作业进行身份验证。问题是,它每次都返回 415 FAILED_PRECONDITION 错误。我尝试使用 postman 中的假身份验证标头调用已发布的作业(在服务器中),它像预期的那样抛出错误,即令牌格式不正确。但是,google scheduler 甚至没有到达端点,因为我已经在任务内部进行了分步登录。

我正在验证如下令牌

string token = Request.Headers["Authorization"].ToString().Remove(0, 7); //remove Bearer 
var payload = await VerifyGoogleTokenId(token);

private async Task<GoogleJsonWebSignature.Payload> VerifyGoogleTokenId(string token){
GoogleJsonWebSignature.Payload payload = await GoogleJsonWebSignature.ValidateAsync(token);
}

有趣的是,当我删除令牌检查,即在下面的行中注释并在请求正文的值字段中使用随机字符串时 - 谷歌正在到达端点并调用该作业。

string token = Request.Headers["Authorization"].ToString().Remove(0, 7)

请注意,上面一行位于 try catch 块内,因此任何错误都会被记录下来,以防万一。

所以我的问题是 -

  1. 我可以看到 Google 发送的 http 请求的原始日志吗?
  2. 我遗漏了什么以至于谷歌甚至没有到达终点?
帖子版权声明 1、本帖标题:Google云调度程序http post错误415 FAILED_PRECONDITION
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Furkan Edizkan在本站《asp.net-mvc》版块原创发布, 转载请注明出处!
最新回复 (0)
返回
作者最近主题: