卷曲后测试 oauth 2.0 不工作,而 http 示例则工作

发布于 2024-12-10 20:45:34 字数 1397 浏览 0 评论 0原文

我试图了解 Google 身份验证如何与 OAuth 2.0 配合使用。他们在此链接中提供了一些示例。

我在第一步中遇到了麻烦。我可以在浏览器中执行这个 http 请求:

https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token

效果很好。

当我尝试将其转换为curl GET 操作时,

curl https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token

我收到一条响应,告诉我存在OAuth 2.0 错误:invalid_request

将其转换为 POST,我无法让此操作起作用。

curl http://accounts.google.com/o/oauth2/auth  -d “scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token” 

响应是文档已移动。

如果我尝试这样做,我会得到类似的结果。

curl http://accounts.google.com/o/oauth2/auth  -data-urlencode “scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token”

我以前从未在代码中使用过curl 或OAuth,所以我想了解其中一些基础知识。有人能告诉我 GET 和 POST 有什么问题吗?

I am trying to understand how Google authentication works with OAuth 2.0. They give some examples at this link.

I am having trouble with one of the first steps. I can execute this http request in a browser:

https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token

and that works fine.

When I try to convert it to a curl GET operation,

curl https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token

I get a response that tells me there is an OAuth 2.0 error: invalid_request.

Converting it to a POST, I can't get this operation to work.

curl http://accounts.google.com/o/oauth2/auth  -d “scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token” 

The response is that the document has moved.

If I try this, I get similar results.

curl http://accounts.google.com/o/oauth2/auth  -data-urlencode “scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token”

I have never used curl or OAuth in my code before, so I want to understand some of these basics. Can someone tell me what is wrong with my GET and POST ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绮筵 2024-12-17 20:45:34

我没有给你一个确定的答案,但我正在为 Instagram 做类似的事情,有一件事让我困惑了一段时间,那就是我的重定向 URL 看起来与 Instagram 预期的相同,但我不断收到错误。

和您一样,当我“手动编码”重定向 URL 时,我得到了预期的结果,但对身份验证 URL 的自动调用失败了。事实证明,我的&符号是一个经过编码的网址,Instagram 将其与重定向网址进行比较,发现它们并不相同。我不确定这是否会让您更接近答案,但我想我应该分享我的经验,因为您的问题让我想起了我所处的情况。祝您好运。

I don't have a sure answer for you, but I was working on something similar for Instagram and one thing that stumped me for a while was that my redirect URL looked to be the same as Instagram expected, but I kept getting errors.

Like you, when I 'hand coded' the redirect URL, I got the result I expected, but my automated calls to the authentication URL failed. It turned out my ampersands were a url encoded which Instagram compared to the redirect URL and saw they were not identical. I'm not sure if that will get you closer to an answer, but I thought I'd share my experience since your question reminds me of the situation I was in. Good luck.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文