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

Dam*_*rez 5 oauth-2.0 google-oauth vue.js nuxt.js

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

在此处输入图片说明

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

我唯一无法手动使其工作的是通过在 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_OsgflowName&State=sIpW-U_60Authh

将该链接与以下链接进行比较:

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=一般OAuthFlow

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

第二个链接不起作用(它显示上面的谷歌图片)但是如果您阅读链接的末尾,它同时具有 code_challenge_method 和 code_challenge

Dam*_*rez 11

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

在此处输入图片说明

在 nuxt auth 模块中使用的演示,做同样的事情,他们不使用任何带有谷歌策略的 code_challenge_method

编辑 10/06/2021

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

responseType: 'token id_token'
Run Code Online (Sandbox Code Playgroud)

我还在这里为该错误创建了一份报告