gpt4 book ai didi

oauth-2.0 - oauth2 openid 连接 javascript(电子)桌面应用程序

转载 作者:行者123 更新时间:2023-12-01 13:32:19 28 4
gpt4 key购买 nike

桌面应用程序的正确 oauth2 流程是什么?除了桌面应用程序之外,我还有一个使用隐式流的 SPA Web GUI。在那里,如果客户端在 3600 秒后重定向到 IdP 以颁发新的访问 token 并不重要。

但是桌面应用程序需要 24/7 全天候运行或者可以 24/7 全天候运行。因此它需要通过 refresh_token 自动刷新访问 token 。但由于隐式流程不提供刷新 token ,因此它可能是桌面应用程序的错误流程,不是吗?

我想我需要授权代码流,它确实提供了一个 refresh_token。但是身份验证请求需要一个 redirect_uri。假设我想使用 Google 作为我的 openid 提供商。使用谷歌,我似乎无法使用自定义 URI 方案( https://developers.google.com/identity/protocols/OpenIDConnect )注册客户端凭据。有效的是注册例如http://localhost:9300 ,理论上可以由应用程序处理。

一个

桌面应用接收 refresh_token 的正确 oauth2 流程是什么?

B

我可以在不使用隐式流 (Google IdP) 的情况下通过自定义 URI 方案捕获 redirect_uri 吗?监听自定义 uri 方案比监听本地 tcp 端口更容易。

C

这是一个更普遍的问题。通常桌面应用程序是公共(public)应用程序,所以我不应该包含 client_secret 对吗?所以剩下的唯一流量就是隐式流量。但是,我如何才能根据规范更新访问 token 而不每 3600 秒打扰桌面用户呢?就我而言,我可以在本地发布应用程序而不公开,但对于公共(public)应用程序来说如何呢?

最佳答案

A - 授权码授予

B - 不确定,您可以 register a Custom URI Scheme

C - 提供的信息不足。你在使用 AppAuth图书馆?如果是这样,你应该使用 PKCE假设客户端从不通过安全连接向 IDP 以外的任何人发送刷新 token ,则无需为刷新 token 采取额外的安全措施。

这有帮助吗?

关于oauth-2.0 - oauth2 openid 连接 javascript(电子)桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45264213/

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