✅已解决 | 参考官方 Demo 使用 code 换 token 一直响应 401,无法正常获取。

问题描述

参考的官方 Demo: GitHub - Authing/oidc-demo: Authing OIDC 后端处理方式,基本示例

反复检查参数,请求方式,请求头,确保无误了。
可以成功请求到服务器,但是一直响应如下错误:

401 Unauthorized: "{"error":"invalid_client","error_description":"client authentication failed"}"

重现步骤

  1. 免费版-控制台-我的用户-应用,创建了一个自测应用并设置成功回调地址为自己的回调接口,登录用户后可以正常响应回调,获取 code。
  2. 将code,应用的 AppId,App Secret 等内容作为参数,仿照 Demo 请求 Token 端点。
grant_type=authorization_code&code=%s&client_id=%s&client_secret=%s&redirect_uri=%s
  1. 一直响应 401,请问是还需要什么额外配置么,官方 Demo 的 issue 也有对应反馈暂无回答。

附加信息

  • Version: 免费版

  • Platform: Windows

看过类似的提问 用code换取token时出错 - 答疑解惑 - Authing 论坛

也没有对应的解决方案,且免费版好像无 换取 token 身份验证方式 的配置。
所以进行过调整参数尝试,试图去掉 client_idclient_secret 后提示必填,所以仍然按官方 Demo 标准参数传递,仍然响应 401。

自己折腾了下处理完了 401 问题。
之前选择的单页 Web 应用,所有逻辑代码没改变,调整了应用类型为后端应用后,更新对应参数,就可以了。。。 :flushed:
之前单页 Web 应用中查看服务发现也是支持各种 token 身份验证方式 的,只不过控制台界面没有。