在用户允许访问Dropbox中的文件后授权重定向请求

时间:2015-06-04 22:21:24

标签: c# asp.net-web-api asp.net-identity dropbox-api

我正在使用 Asp.Net Web Api 编写Web应用程序。我的应用程序从Dropbox获取用户文件。要做到这一点,用户首先必须允许访问他的存储(OAuth2的通常行为)。问题是我在“允许”重定向后无法获得授权用户(在我的应用程序中的控制器操作中),因为此重定向不包含带有承载令牌的授权标头(这是我的应用程序所必需的)。我需要我的应用程序用户ID来存储访问令牌(来自Dropbox)。

我正在使用DropboxRestAPI库访问Dropbox Api(https://github.com/saguiitay/DropboxRestAPI

这是控制器操作,接受来自Dropbox的用户代码的重定向:

    [AllowAnonymous]
    [HttpGet]
    public void AuthoriseDropbox(string code = null, string error = null) {
        var options = new Options {
            ClientId = "...",
            ClientSecret = "..."
        };

        var client = new Client(options);
        var token = await client.Core.OAuth2.TokenAsync(code);

        // save token in Db for current user

        // will be null because request from Dropbox without Authorization token
        var userId = User.Identity.GetUserId(); 
        // store token for particular user
        ...
    }

我所知道的唯一解决方案是将令牌作为响应发送,并使用该令牌发出授权请求。

但在这种情况下,更好的解决方案是什么?

由于

0 个答案:

没有答案