首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用新的OAuth 2一体机

使用新的OAuth 2一体机
EN

Stack Overflow用户
提问于 2012-12-15 16:04:03
回答 2查看 5.1K关注 0票数 5

我正在尝试将新的Box身份验证API与OAuth结合使用。我想使用我当前使用的邮箱帐户的凭据来授权我的应用程序。

OAuth的配置请求重定向URI,但我不知道必须在其中输入什么。在前面的身份验证方法中,向以下URI提供了票证{http://www.box.net/api/1.0/auth/},但这是在获得身份验证票证之后完成的。

我是OAuth的新手,所以我的问题可能有点显而易见……但我想知道如何使用box帐户用户的凭据进行身份验证。

我在Windows应用程序中执行此操作,因此我还想了解如何显示来自请求的响应。

EN

回答 2

Stack Overflow用户

发布于 2013-09-07 18:06:32

当我在搜索有关为桌面创建Box.net应用程序的答案时,试图获得登录身份验证所花费的时间比它实际应该花费的时间更多……

因此,我决定在我的网站上写一篇文章,讲述创建一个C# .Net 4.0桌面应用程序的过程,该应用程序可以登录并使用他们的SDK。这使用的是他们新的OAuth 2.0登录系统。

首先,我们使用标准HttpWebRequest对象发送初始web请求,以获取用于OAuth 2.0登录的UI网页。返回web响应后,我们将其转换为供web浏览器使用的Stream。重定向URI可以是任何基于HTTPS的URI。

代码语言:javascript
复制
string baseURI = "https://www.box.com/api/oauth2/authorize?";
string responseType = "&response_type=code";
string clientId = "&client_id=YOUR OWN CLIENT ID";
string redirectURI = "&redirect_uri=https://app.box.com/services/poc_connector"; 

var targetUri = new Uri(baseURI + responseType + clientId + redirectURI);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(targetUri);

为了将Stream注入web浏览器控件,我们使用了document属性

代码语言:javascript
复制
webBrowser1.DocumentStream = view;

一旦完成,用户的所有操作都由web浏览器控件处理。以在用户按下“授予访问”按钮时捕获身份验证令牌。我们为web浏览器导航事件添加一个事件侦听器。

代码语言:javascript
复制
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
    if (e.Url.AbsolutePath != "blank" && e.Url.ToString().Contains("&code="))
    {
        Token = e.Url.ToString().Substring(e.Url.ToString().IndexOf("&code="));
        Token = Token.Replace("&code=", String.Empty);
        this.Close();
    }
}

链接我的原文和源代码:link

票数 2
EN

Stack Overflow用户

发布于 2012-12-16 05:22:08

OAuth 2流程的第一步是将用户发送到https://api.box.com/oauth2/authorize,并将response_type和client_id作为请求的参数。重定向地址将与您在V1中设置的地址相同。例如,如果您的client_id为123456,则可以将用户定向到

代码语言:javascript
复制
https://api.box.com/oauth2/authorize?response_type=code&client_id=123456

See here for more info

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13890485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档