为什么对 OAuth Loopback 接口重定向 URI 使用 "http" 方案是可以接受的?

Why is it acceptable to use the "http" scheme for OAuth Loopback interface redirect URIs?

在 OAuth IETF RFC 的第 8.3 节:“环回重定向注意事项”中指出:

“环回接口重定向 URI 使用 http 方案(即,没有 TLS)。这对于环回接口重定向 URI 是可以接受的,因为 HTTP 请求永远不会离开设备。”

为什么这里的安全不需要 https?我意识到使用 PKCE 减轻了 URI 拦截的一些担忧,但我不确定我是否完全理解客户端如何在环回接口上接收重定向。

https://www.rfc-editor.org/rfc/rfc8252#section-8.3

如果自己机器上的流量能被拦截,基本上'all is lost'。这是两个进程的通信,任何具有读取权限的东西都可以做更多的事情。

PKCE 缓解措施的存在主要是因为在现代 phone OS 上,应用程序可以有效地 'take over' 具有特定方案的某些 uri,这与 DNS 不同,后者有一个非常好的所有权系统,移动 OS 供应商通过引入新的非托管命名空间创建了一个漏洞。

因此,如果我的重定向以 my-app:// 开头,没有什么可以阻止另一个应用程序也注册该架构并使用 oauth2 授权代码启动。

如果这让您认为像 Apple 这样的公司在这里搞砸了,那您肯定是对的。