Dropbox api V2,在查询参数中获取访问令牌而不是 url 哈希 (#) (Nodejs)

卡普卡什

在我的 Nodejs 应用程序上使用官方 Dropbox API (V2)这听起来像一个愚蠢的问题,但我真的不知道如何从回调 url 获取给定的访问令牌实际上,它应该位于 url的哈希 (#)部分(根据他们的文档和javascript 客户端示例),服务器端不可见...

我找不到任何仅使用基本 api 的 nodejs 应用程序进行身份验证的示例。

这是我的身份验证代码:

我的快递应用:

//Entry point, DC is a DropboxConnector object
app.get('/connect/Dropbox', function(req, res) {
   console.log('/connect/Dropbox called');
   res.redirect(DC.getConnexionURL());
});

// Callback from the authentication
app.get('/authDropbox', function(req, res) {
   console.log("/authDropbox called");
    console.log(url.format(req.protocol + '://' + req.get('host') + req.originalUrl));
   // The above log is: 'http://localhost:8080/authDropbox'
   // Here is the problem, the access token is unreachable by express
   DC.getToken(req.query.code, res);
   connectorList.push(DC);
});

DropboxConnector.js,我的 dropbox api 包装器:

var REDIRECT_URI = 'http://localhost:8080/authDropbox';

//The authentication url given by the dropbox api
getConnexionURL() {
    dbx = new Dropbox({ clientId: CLIENT_ID});
    var authUrl = dbx.getAuthenticationUrl(REDIRECT_URI);
    console.log("AuthURL: " + authUrl);
    return authUrl;
}

// @param code is supposed to be the access token...
getToken(code, res) {
    if (!!code) {
        dbx = new Dropbox({ accessToken: code });
        console.log("Authenticated!");
        res.redirect(CALLBACK_URL);
    } else {
        console.log("No code here");
    }
}

感谢帮助 !

格雷格

没错,片段又名哈希的内容对服务器不可见,只有客户端(浏览器)可见。OAuth 2“令牌”流在片段上发送访问令牌,主要用于客户端应用程序,例如浏览器中的 JavaScript。对于服务器端应用程序,OAuth 2“代码”流改为将授权代码作为 URL 参数发送。

如果您有兴趣,可以在Dropbox /oauth2/authorize 文档 中找到有关这两种不同流程的更多信息

遗憾的是,Dropbox API v2 JavaScript SDK 目前仅支持“令牌”流,但我们正在将此作为支持“代码”流的功能请求进行跟踪

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Dropbox样式的URL,不使用哈希或参数

来自分类Dev

DropBox(无API),需要获取文件的哈希/代码,因此我可以打开其共享界面

来自分类Dev

如何使用 Dropbox python API 获取文件的共享 url?

来自分类Dev

Dropbox API令牌格式

来自分类Dev

与 Dropbox API v2 离线同步

来自分类Dev

Dropbox API v2获取图像/相册

来自分类Dev

我可以使用Dropbox V2 API中的文件ID搜索/获取文件吗?

来自分类Dev

使用PHP的Dropbox API在Dropbox中获取文件的内容

来自分类Dev

如何从URL获取哈希值

来自分类Dev

从 URL 中删除哈希符号

来自分类Dev

检测 URL 中的特定哈希

来自分类Dev

检查哈希的REST API令牌

来自分类Dev

okhttp-Dropbox http API v2

来自分类Dev

在Python中使用Dropbox API v2覆盖文件

来自分类Dev

Dropbox API v2使用python上传大型文件

来自分类Dev

DropNet与DropBox API v2的兼容性

来自分类Dev

使用 ObjectiveDropboxOfficial (Dropbox V2 API) 检测目录

来自分类Dev

如何使用dropbox-api dropbox-js V2打开弹出窗口

来自分类Dev

使用 Dropbox API V2 + Corodva 上传文件到 Dropbox

来自分类Dev

Dropbox API v2-上传文件

来自分类Dev

Dropbox API v2-上传文件

来自分类Dev

Dropbox API令牌流-无令牌响应

来自分类Dev

Dropbox API令牌流-无令牌响应

来自分类Dev

Dropbox OAuth 2动态返回URL

来自分类Dev

Dropbox API Java处理令牌过期

来自分类Dev

如何从 URL 中获取哈希值

来自分类Dev

如何只接受NodeJS Express API中定义的URL

来自分类Dev

Dropbox API在codiegniter中不起作用?

来自分类Dev

Dropbox Sync API首次在iOS中同步