gpt4 book ai didi

oauth-2.0 - 既然可以直接给token,为什么还需要授权呢?

转载 作者:行者123 更新时间:2023-12-05 01:18:12 25 4
gpt4 key购买 nike

正在观看 video ,它在 OAuth2 中详细说明,客户端应用程序首先必须从授权服务器获得授权许可,然后使用该授权获得 token ,然后才能访问资源服务器。赠款有什么用途?为什么不在用户使用他/她的用户名和密码登录后立即向客户端提供 token ?

最佳答案

因为它更安全,对于某些应用程序类型。

您描述的是所谓的授权代码流。它通常用于“经典”Web 应用程序,其中只有后端需要访问资源服务器。访问 token 的授权代码交换发生在后端,访问 token 永远不会离开它。 Exchange 只能进行一次,此外还需要 client id 和 secret(存储在后端)。

单页应用程序通常使用隐式流,其中访问 token 直接在 URL 中传送到前端。

在这里查看更多: IdentityServer Flows

编辑: 问:“鉴于您必须获得授权才能获得 token ,我仍然不明白它如何更安全。为什么需要 2 件事而不是 1 件事访问资源?如果有人窃取了 token ,他们仍然可以访问资源 – stackjlei”

“窃取”访问 token 将独立于您的应用程序获取它的方式。然而,在后端窃取访问 token 比在前端要困难得多。

授权代码也通过前端传送到后端,但有人拦截和使用它的风险很小:

  1. 只能兑换一次。
  2. 您需要 client-id 和 client-secret 才能交换它。 Client-secret 仅在后端可用。
  3. 通常,您的后端会立即将授权码交换为访问 token 。所以它的生命周期只有几秒钟。之后是否有人得到使用过的授权码并不重要。

关于oauth-2.0 - 既然可以直接给token,为什么还需要授权呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46660687/

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