在 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_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
第一个链接和第二个链接之间的唯一区别是第一个链接实际上可以工作(我可以登录)并且它没有challenge_method。
第二个链接不起作用(它显示上面的谷歌图片)但如果您阅读链接的末尾,它同时具有 code_challenge_method 和 code_challenge
最佳答案
经过数小时的反复试验,使其工作的唯一方法是将 code_challenge_method 设置为空字符串,如下所示:
nuxt auth 模块中使用的演示,做同样的事情,他们不使用任何 code_challenge_method 与谷歌策略
编辑 10/06/2021
经过进一步调查,似乎如果我只使用空的 code_challenge_method(就像上图一样),google auth 似乎不再起作用,我敢打赌,合并了一个损坏的提交 here ,所以为了修复它,我在我的谷歌策略中添加了一个新属性:
responseType: 'token id_token'
我还为该错误创建了一个报告 here
关于vue.js - 此消息类型不允许使用参数 : code_challenge_method, 如何在 nuxt 中修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64073309/