【问题标题】:OAUTH2 works well in localhost(with sub.domain.com) but fails with "401 url not authorized" in serverOAUTH2 在 localhost(使用 sub.domain.com)中运行良好,但在服务器中因“401 url not authorized”而失败
【发布时间】:2019-09-04 06:11:11
【问题描述】:

经过大量的工作和学习。 我在带有 gunicorn 的烧瓶中开发了一个身份验证服务 OAUTH2,使用模块 requests-oauthlib 并具有到 nginx 的反向代理,所有这些都在 docker-compose(alpine images) 中,因为我是新来的,我想要它有所有的味道: )。它在我的本地环境中完美运行,它使用子域“oauth2.example.com:5000”,我在最后一步从 api 接收到带有用户数据的令牌和 json,一切正常,但是当它传递到生产环境(https://oauth2.example.com)失败并显示消息“401 未经授权的 url”。我用于此测试的 api 服务是 Linkedin

我已经尝试过什么?

  • 使用其他主机
  • 检查授权网址
  • 使用邮递员验证收到的令牌(在本地和生产中)是否有效
  • docker 外的测试
  • 检查回调网址
  • 也许我需要在某个地方(Linkedin)注册我的域?

感谢各位朋友的帮助。

【问题讨论】:

    标签: python-3.x flask docker-compose linkedin-api requests-oauthlib


    【解决方案1】:

    好吧,经过几天的研究并用我的代码检查一切正常,我发现了问题,我不知道是我的错,但似乎出现了linkedin配置文件网址: "https://api.linkedin.com/v1/people/~:(first-name)" 在生产环境中不起作用,我不知道如何,但是当我在本地环境中使用 sub.domain.com 时效果很好,我收到带有用户数据和有效令牌的 json,我认为与域有关本地主机。

    我的问题的解决方案是将个人资料网址更改为: “https://api.linkedin.com/v2/me/” 现在我在生产环境中接收用户数据和令牌,但我对其他信息的访问仍然有限,我需要在这里申请 api 访问 https://business.linkedin.com/marketing-solutions/marketing-partners/become-a-partner/marketing-developer-program#get-started.

    【讨论】:

      猜你喜欢
      • 2020-02-17
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      相关资源
      最近更新 更多