【发布时间】: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