我想使用python构建Sheetsu应用程序的克隆。为此,我需要对用户进行身份验证和授权。我在OAuth 2.0身份验证流程中遇到了三种类型。他们是 1. Web服务器 2.已安装的应用程序 3.服务帐户
有人可以向我解释这三者之间的区别吗?
答案 0 :(得分:1)
OAuth2.0方案:
与用户交互的应用程序托管在Web服务器上。用户希望将对其数据的访问权限委派给该应用程序
建议的OAuth2.0流:-
授权码授予。
与用户互动的应用托管在设备上,例如手机应用程序或桌面应用程序。同样,用户希望将对其数据的访问权限委派给该本地应用程序
建议的OAuth2.0流程:-
与PKCE的授权代码授予。
应用程序托管在Web服务器上。该应用程序需要令牌来访问API中的数据,但不需要在最终用户的特定上下文中
建议的OAuth2.0流程:-
客户证书授予。
或者,资源所有者密码凭据传递了服务帐户的用户名和密码-某些旧版API可以像这样工作,但是在可能的情况下避免这种流程。
还有另一种应用程序:
与用户进行交互的应用程序在其Web浏览器服务器上运行。用户希望将对其数据的访问权限委派给该应用程序
建议的OAuth2.0流程:-
与其他公共客户端的授权代码授予,
隐性授予。