Oauth 2.0 为什么OAuth区分web服务器应用和基于浏览器的应用?

Oauth 2.0 为什么OAuth区分web服务器应用和基于浏览器的应用?,oauth-2.0,Oauth 2.0,我在这里读过OAuth2:,在授权部分,它说OAuth根据用例有不同的模式 提到的两个用例是基于浏览器的应用程序和web服务器应用程序。 我的第一个问题是web服务器应用程序和基于浏览器的应用程序之间有什么区别?我认为web服务器应用程序是在运行某种HTTP服务器并处理GET/POST请求的服务器上运行的应用程序。这与基于浏览器的应用程序有何不同? 我的第二个问题是为什么OAuth会区分这两种模式?这两种模式的不同之处在于请求和处理OAuth交换的实际逻辑在哪里,以及OAuth授权服务器和客户端

我在这里读过OAuth2:,在授权部分,它说OAuth根据用例有不同的模式

提到的两个用例是基于浏览器的应用程序和web服务器应用程序。 我的第一个问题是web服务器应用程序和基于浏览器的应用程序之间有什么区别?我认为web服务器应用程序是在运行某种HTTP服务器并处理GET/POST请求的服务器上运行的应用程序。这与基于浏览器的应用程序有何不同?
我的第二个问题是为什么OAuth会区分这两种模式?

这两种模式的不同之处在于请求和处理OAuth交换的实际逻辑在哪里,以及OAuth授权服务器和客户端之间交换的复杂性

对于web服务器应用程序(授权码授予),用户通常通过浏览器请求OAuth操作,但执行所有重定向并处理/验证来自授权服务器的响应的是应用程序的后端(或至少是服务器端)。在基于浏览器的应用程序(隐式授权)中,所有工作都由应用程序的前端(通常在网页中运行JavaScript)完成

这些模式在安全方面也有所不同。在第一种情况下,OAuth服务器正在验证客户机应用程序(=它确保知道它将令牌发送给谁)。第二种方法尽可能简单(简化JavaScript中的处理),不执行客户端验证。也不允许使用后一种方法发送刷新令牌。后一种方法的另一个安全问题是,它有更大的机会将令牌暴露给攻击者(令牌作为URL中的片段发送,而不是将授权代码交换为访问令牌)

您可以在中找到更多详细信息


OAuth 2框架包含隐式授权的原因是为特定类别的应用程序提供了一种简化的、因此易于实现的OAuth方法。

这个问题似乎与主题无关,因为它是关于协议设计的