【发布时间】:2021-06-15 16:35:01
【问题描述】:
大家好, 我们一直在深入阅读有关从 google 交换 access_token 的 google 文档,以便将我们的(delphi)桌面应用程序从服务器端与 google 进行 SSO。这是我们首先发送的有效载荷:
通常在此之后它会重定向我登录到我们的测试用户,然后根据文档我们向端点令牌发送 POST 请求以获取 access_token 和 refresh_token...:'https:// oauth2.googleapis.com/token 使用以下参数,生成“代码”,我们也将其发送如下:
client_id=1000217514248-t1lojs6f8ed7l9ocrpbm98leahtum8n1.apps.googleusercontent.com
grant_type=authorization_code
client_secret=******
code= 4/1AY0e-g4GlavO38PI5Oo3vq04Pc4lMWN77et-02UiVWOsT-IyRQnU1lq19qo
redirect_uri = urn:ietf:wg:oauth:2.0:oob
响应总是
{
"error_description": "Missing code verifier.",
"error": "invalid_grant"
}
我们也尝试发送客户端的秘密 ID,这与我们的 code_challenge 有关系吗?端点 url 和初始 url 好吗?我们缺少什么?我们使用 CEF4Delphi 作为“类似浏览器的体验,以便用户输入他们的谷歌凭据。我们一直在阅读:https://developers.google.com/identity/protocols/oauth2/web-server#offline 我们也在尝试游乐场:https://developers.google.com/oauthplayground/ 我们在生成“代码”的 chrome 中发送初始 url,在 Playground 中我们插入了代码,但仍然出现缺少代码验证器的相同错误。
谢谢大家
【问题讨论】:
标签: delphi oauth-2.0 google-api google-oauth cef4delphi