何时使用Web服务器,安装的应用程序和服务帐户认证流程?

问题描述 投票:0回答:1

我想使用python构建Sheetsu应用程序的克隆。为此,我需要对用户进行身份验证和授权。我在OAuth 2.0身份验证流程中遇到了三种类型。它们是1. Web服务器2.已安装的应用程序3.服务帐户

有人可以解释一下这三者之间的区别吗?

oauth-2.0 google-sheets-api google-oauth2 google-authentication
1个回答
1
投票

OAuth2.0场景:

  1. 网络服务器

用户与之交互的应用程序托管在Web服务器上。用户希望将对其数据的访问权委托给此应用程序

建议的OAuth2.0流程: -

授权代码授予。


  1. 已安装的应用程序

用户与之交互的应用程序托管在例如设备上。手机应用或桌面应用。同样,用户想要将对其数据的访问权委托给该本机应用程序

建议的OAuth2.0流程: -

使用PKCE授权代码授予。


  1. 服务帐户

应用程序托管在Web服务器上。应用程序需要令牌才能从API访问数据,但不能在最终用户的特定上下文中访问

建议的OAuth2.0流程: -

客户凭证授权。

或者,资源所有者密码凭据传入服务帐户用户名和密码 - 某些旧版API的工作方式与此类似,但尽可能避免此流程。

还有另一种类型的应用程序:

  1. 单页应用(SPA)

用户与之交互的应用程序在其Web浏览器服务器上运行。用户希望将对其数据的访问权委托给此应用程序

建议的OAuth2.0流程: -

授权代码授予公共客户端(如果可用),

隐含的格兰特。

© www.soinside.com 2019 - 2024. All rights reserved.