2301_78040501 2024-04-13 23:46 采纳率: 50%
浏览 20
已结题

Github的aouth 登录拿到code换到了access token去拿用户授权的时候一直401

前后端分离项目 后端spring boot写的。我能确保token绝对没有过期并且也是正确的。但是一直401

我在GitHub上发了讨论里面有图片 链接在这里

https://github.com/orgs/community/discussions/118908

谢谢咯

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2024-04-13 23:46
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    我注意到您提到在Github上有一个关于OAuth登录获取access token时遇到401 Unauthorized的问题,并且您已经分享了链接。通常,当您在使用OAuth 2.0进行身份验证时,401错误表示服务器收到了请求,但是没有找到有效的凭证来验证该请求。这可能是由于以下几个原因:

    1. 缺少或错误的Authorization:确保在发送请求获取access token时,包含了Authorization头部,格式通常是Bearer <token>,其中token是通过code换取的。

    2. 刷新令牌问题:如果使用的是refresh token而不是长期有效的access token,可能需要先使用refresh token刷新access token。

    3. 客户端ID和密钥:确认在后端代码中使用的GitHub应用的客户端ID和客户端秘密(client ID and client secret)是否正确无误。

    4. Token过期:即使您认为token没有过期,GitHub有时会短暂地返回401,因为它们可能有严格的刷新策略。检查您的token是否在预期时间内刷新。

    5. GitHub API速率限制:频繁的请求可能会触发GitHub的速率限制,导致暂时的401响应。

    6. CORS问题:跨域资源共享(CORS)设置可能导致某些请求被阻止,检查后端是否正确设置了允许跨域的设置。

    7. Spring Security配置:如果您使用了Spring Security,确保OAuth2的配置正确,并且认证过滤器链中没有其他拦截器导致授权失败。

    8. 网络问题:虽然可能性较小,但网络问题也可能导致短暂的认证失败。

    请查看您分享的讨论链接中的详细信息,那里可能有其他人提供的解决方案或者具体的代码片段,可以帮助定位问题。如果问题仍未解决,建议提供更多的代码片段,特别是与OAuth请求相关的部分,以便于分析。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月7日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 asp写PC网站开通了微信支付,扫码付款不能跳转
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊