【问题标题】:How do I get the Auth Code from the redirect url? OAuth2如何从重定向 url 获取验证码? OAuth2
【发布时间】:2019-11-14 07:38:31
【问题描述】:

我正在尝试通过使用 OAuth2.0 的 API 对我的应用进行身份验证。

我是 OAuth 新手,对它只有一个基本的了解。我已经实现了一种获取访问令牌并发出我想要的请求的方法,但是我的方法似乎有点低效。也可能是我对 Java 中的 http 请求缺乏了解。就像一个注释,我正在使用 apache http 客户端。

目前我正在做的是直接在浏览器中打开用户授权页面:

Desktop.getDesktop().browse(new URL(url.toURI());

然后这会重定向到浏览器中的重定向 url,并在 url 中使用“code”参数。

我不知道如何获取该 url,然后检索“code”参数,所以我只是从 url 本身复制它,然后将其粘贴到输入字段中,然后发送请求以检索访问令牌。

所以我的问题是,如何摆脱用户必须将代码参数从重定向 url 复制并粘贴到我的程序中的步骤?

如何将它们发送到授权页面,然后接收重定向的 url 以从我的程序中获取 code 参数以请求访问令牌?

如果有人能指出我正确的方向,或者甚至可以显示一些代码,我将非常感激。

【问题讨论】:

  • 您需要一个重定向 URI 来将代码传递回您的应用程序。我建议你通过一些关于如何实现 OAuth 的博客看看这个aaronparecki.com/oauth-2-simplified
  • 我有一个重定向 uri。我的问题是我不知道如何让我的程序读取代码参数的重定向 uri。
  • 阅读这篇文章,了解如何使用 curl 进行 OAuth。从那里你可以理解任何语言。 jhanley.com/google-oauth-2-0-testing-with-curl
  • 你有没有找到解决办法?

标签: java oauth apache-commons-httpclient


【解决方案1】:

要从重定向 uri 中获取授权码参数,你只需要这样访问它:redirectUri['code']

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2019-01-12
  • 1970-01-01
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 2011-02-11
  • 2013-02-24
  • 2016-12-11
  • 1970-01-01
相关资源
最近更新 更多