此消息类型不允许使用参数:code_challenge_method,如何在 nuxt 中修复它?

Parameter not allowed for this message type: code_challenge_method, how to fix it in nuxt?

在 Nuxt 中,我使用 auth v5 时出现标题错误。这是我目前的策略:

文档 (https://dev.auth.nuxtjs.org/schemes/oauth2#codechallengemethod) 说您可以使用“plain”或“S256”作为选项,我都试过了,但错误仍然存​​在。

我唯一无法手动让它工作的是 copy-pasting url:

中的 oAuth

https://accounts.google.com/o/oauth2/auth/identifier?protocol=oauth2&response_type=token&client_id=MYCLIENTID&redirect_uri=https%3A%2F%2Flocalhost%3A3005%2Flogin&scope=profile%20email&state=sIpW-W_6h_QwUs0gCDV_o&flowName=GeneralOAuthFlow

将 link 与以下内容进行比较:

https://accounts.google.com/o/oauth2/auth/identifier?protocol=oauth2&response_type=token&client_id=MYCLIENTID&redirect_uri=https%3A%2F%2Flocalhost%3A3005%2Flogin&scope=profile%20email&state=sIpW-W_6h_QwUs0gCDV_o&code_challenge_method=S256&code_challenge=fnyp2Ray850HEmHEwmoyQtIrPFPpHWBt4nVAz9p5Vxs&flowName=GeneralOAuthFlow

第一个和第二个 link 之间的唯一区别是第一个确实有效(我可以登录)并且它没有 challenge_method。

第二个 link 不起作用(它显示上面的 google 图像)但是如果您阅读 link 的结尾,它同时具有代码_challenge_method & code_challenge

经过数小时的反复试验,唯一的方法是将 code_challenge_method 设置为空字符串,如下所示:

nuxt auth 模块中使用的演示,做同样的事情,他们不使用任何 code_challenge_method 和 google 策略

编辑 2021 年 6 月 10 日

经过进一步调查,似乎如果我只使用一个空的 code_challenge_method(就像上图一样),google auth 似乎不再起作用,我敢打赌一个损坏的提交被合并 here,所以为了修复它,我在我的 google 策略中添加了一个新的 属性:

responseType: 'token id_token'

我还为该错误创建了一份报告here