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

jyztefdp  于 2022-10-08  发布在  其他
关注(0)|答案(2)|浏览(116)

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

Docs(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_6h_QwUs0gCDV_o&flowName=GeneralOAuthFlow

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

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

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

第二个链接不起作用(它显示了上面的Google图像),但如果您阅读链接的末尾,它将同时包含code_challengl_method和code_challengl

5sxhfpxr

5sxhfpxr1#

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

Nuxt auth模块中使用的演示做了同样的事情,他们没有在Google策略中使用任何code_challenges_method

编辑2021年10月6日

在进一步调查后,似乎如果我只使用空的code_challengl_method(就像上图一样),Google auth似乎就不再起作用了,我打赌这里合并了一个失败的提交,所以为了修复它,我在Google策略中添加了一个新属性:

responseType: 'token id_token'

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

eh57zj3b

eh57zj3b2#

我也有同样的错误,这个设置解决了我的问题。注意我使用的是Next-auth,但参数名称相同,只是命名约定不同。将RESPONSE_TYPE值设置为CODE。将RESPONSE_TYPE值设置为TOKEN会导致错误,请使用CODE

相关问题