我如何收到保管箱授权码?

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

我一直试图从Dropbox获取客户端授权令牌,我遵循了herehere的说明,但仍未获得授权。如上面提供的链接所述,我想向端点发出这样的请求:https//www.dropbox.com/oauth2/authorize?response_type=...&client_id=...&redirect_uri=...,我这样做了,但仍然没有使用授权码(基于所选的授权流)重定向回去,然后使用此call交换承载访问令牌。然后,该承载访问令牌应被用于所有后续调用。

我在这里做错了什么?也是我可以提供永久身份验证而不必为API的非常请求而调用授权URL的方式吗?我为此被困住了。请帮助。

源代码

 if (process.env) {
      const appKey = process.env.REACT_APP_KYUNISTUDIO_APP_KEY;
      const appSecretKey = process.env.REACT_APP_KYUNISTUDIO_SECRET_KEY;

      const authToken = () => {
        const headers = {'Content-Type': 'application/json;charset=utf-8'};

        fetch(`https//www.dropbox.com/oauth2/authorize?response_type=token&client_id=<${appKey}>&redirect_uri=http://localhost:3000`, {
          method: 'GET',
          headers:headers,
        })
        .then(res => res.json)
        .then(data => console.log(data))
        .catch(err => console.log(err))
      }
      authToken();
    }
javascript authentication oauth-2.0 dropbox-api
1个回答
1
投票

The /oauth2/authorize endpoint是一个网页,您应将最终用户引导至该网页,而不是要通过编程方式访问的API端点,因为您试图通过fetch调用在此处进行操作。例如,您可以通过将window.location设置为/ oauth2 / authorize URL来重定向用户。

由于您正在使用'令牌'流,因此您将在重定向URI的URL片段上获得访问令牌。您可以使用window.location.hash将其读回。

一旦有了访问令牌,就可以将其用于以后的呼叫,而无需再次进行授权流程。

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