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

标签 vue.js oauth-2.0 google-oauth nuxt.js

在 Nuxt 中,使用 auth v5 时出现标题错误。这是我目前的策略:
enter image description here
文档( 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 设置为空字符串,如下所示:
enter image description here
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/

相关文章:

vue.js - vuejs 将选择值绑定(bind)到类值

oauth-2.0 - 使用服务帐户访问 AdSense Management API 时的 "User does not have an AdSense account"消息

c# - 如何使用 OAuth 2.0 实现 REST API 以实现多客户端访问

java - 如何在 Java 中将 Google 日历客户端与 GoogleCredentials 集成

javascript - 作为 Vue 插件的一部分将 Mutations 添加到 Vuex store

javascript - Nuxtjs 页面未收到 Pusher 事件

google-oauth - 如何保护桌面应用程序中的客户端凭据?

google-apps-script - 使用 Gmail API 获取 Gmail 邮件内容需要什么范围?

javascript - 无法访问从axios请求到laravel上传的文件

.net-core - Identity Server 4 上的关联失败