gpt4 book ai didi

box-api - 在 Box 中使用新的 OAuth 2

转载 作者:行者123 更新时间:2023-12-01 22:26:06 28 4
gpt4 key购买 nike

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

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

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

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

最佳答案

当我四处寻找有关为桌面创建 Box.net 应用程序的答案时,试图获得登录身份验证所花费的时间超出了它真正应该有的......

因此,我决定在我的网站上整理一篇文章,详细介绍创建可以登录并使用其 SDK 的 C# .Net 4.0 桌面应用程序的过程。这是使用他们新的 OAuth 2.0 登录系统。

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

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 注入(inject)到 Web 浏览器控件中,我们使用 document 属性

webBrowser1.DocumentStream = view;

完成后,用户的所有操作都将由 Web 浏览器控件处理。当用户按下“授予访问权限”按钮时捕获身份验证 token 。我们为网络浏览器 Navigated 事件添加一个事件监听器。

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

关于box-api - 在 Box 中使用新的 OAuth 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890485/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com