将隐式授权流与来自 SPA 的 Reddit API 结合使用

Using Implicit Grant flow with Reddit API from an SPA

当我重定向到

https://www.reddit.com/api/v1/authorize?response_type=token&client_id=3JTVJFUn28MxFQ&state=RANDOMSTATEFORCONFIRMATION&redirect_uri=http%3A%2F%2Flocalhost%3A4200&scope=read

在 Angular 应用程序中,我收到错误

confidential clients can not request tokens directly

当我尝试来自 Postman 的相同请求时(例如在浏览器之外),它有效。

为什么? https://github.com/reddit-archive/reddit/wiki/oauth2 明确提及隐式身份验证流程;例如,使用 response_type=token 而不是代码。隐式身份验证流程存在的唯一原因是针对像 Angular 这样的 SPA,因为代码授权流程对它们没有意义(因为无论如何都会显示令牌)。那么为什么 Reddit 提供隐式身份验证流程但不让我使用它?

您必须将应用程序创建为已安装的应用程序才能使用隐式授权。

根据 documentation.