gpt4 book ai didi

服务器端应用程序的 OAuth

转载 作者:行者123 更新时间:2023-12-04 18:44:59 24 4
gpt4 key购买 nike

我需要与仅支持 OAuth2 的 API 进行交互。

问题是,我想编写一个纯粹的服务器端应用程序,它应该在没有 GUI 每天轮询 API 的情况下坐在那里。

API 使我能够以编程方式获取应用程序 token ,但看起来我需要实现整个 GUI 流程才能获取后续访问 token 。这是因为我需要通过基于 Web 的应用程序提供商登录屏幕登录。

看起来我然后需要获取该访问 token ,并将其复制为我重新创建它的服务器端凭据。如果它过期或变坏,我将需要通过 GUI 流程返回以获取我的服务器端访问 token 。

我的理解在这里是否正确,因为这感觉很笨重?

具体来说:

我可以避免执行我们链接到应用程序提供商登录表单的过程吗?

这样做之后,我必须取消选择访问 token 并将其存储在我的服务器端应用程序中,对吗?我似乎无法控制它是否会过期?

我可以看到,例如Facebook 特别支持服务器端和客户端流。我想知道我是否遇到了 OAuth 2 的这个特定实现的限制?

最佳答案

我不知道您实际上希望应用程序如何运行,但有一件事是肯定的 - 您必须输入一次用户凭据。

一旦您进行身份验证和授权(SO 上有很多关于自动身份验证的悬而未决的问题),您的应用不仅会获得访问 token ,还会获得 刷新 token 。 刷新 token 正是您在用例中所需要的。您可以将其存储在服务器端 - 刷新 token 没有过期时间。它一直存在,直到用户明确撤销权限。

对于任何 OAuth 服务提供者,都有一个 token 交换端点,您可以在其中交换(刷新 token + 访问 token )对的刷新 token 。因此,在后端(您的服务器),您可以随时访问此端点 - 获取短期访问 token 并执行您需要的操作。这可以节省您每次都遵循 GUI 流程的所有努力。

请参阅此链接 - https://developers.google.com/accounts/docs/OAuth2WebServer#offline

编辑 - 阅读您的评论后进行了一些更改。您只需要知道如何在您的应用程序中使用刷新 token 。

关于服务器端应用程序的 OAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com