- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是一个重复的问题,但还没有答案。库 oauth-dot-net 和 DotNetOpenAuth 都非常复杂,一个似乎贯穿 OAuth 的主题,虽然 OAuth with Verification in .NET很有启发性,也更容易理解,它说
Use a WebBrowser control, and open the authorize web page within the desktop app. When the user clicks "Allow", grab the response text from that WebBrowser control, extract the PIN automatically, then get the access tokens. You send 5 or 6 HTTP requests but the user needs to see only a single Allow/Deny dialog. Simple.
这是没有浏览器的 OAuth?不,它不是。如果您使用 Web 浏览器调用 URL 并运行响应,它就可以工作,这是 HTML、元刷新、noscript 标签和 javascript 中基于浏览器的自动化的全能奇迹。但我不想这样做。
Microsoft, this is aimed at you! I need to do pure REST, not mostly REST except when it's javascript.
I wish to retrieve a request token, as described by the OAuth RFC. A request token, not a software authentication robot. A REQUEST TOKEN.
当我使用WebClient直接执行这个GET时
GET /oauth20_authorize.srf?client_id=00000000400A9B87&scope=wl.signin%20wl.basic&response_type=code&redirect_uri=http%3a%2f%2fwhitehouse.podzone.net%2f HTTP/1.1
我得到了一堆机器生成的 javascript 无法形容的困惑。看在 Pete 的份上,我想要一个该死的 request_token,而不是 javascript love-in。那么,我如何从 live.com 获得请求 token 呢?
我目前正在研究发送的 HTML 所引用的混淆和压缩库,但这是一项繁重的工作。如果有人已经这样做了,我将非常感谢您的帮助。甚至指导如何劫持和跟踪此页面上的脚本,这可能会加快速度。
如果您正在检查 GET,重定向 URI http://whitehouse.podzone.net/映射到我家用台式机上的 Web 服务器,这通常是正在调试的应用程序中的 HttpListener,有时是 IIS。这就是我处理重定向的方式(通常只是放弃它,但很高兴知道事情已经走到这一步)。
我根据其他人围绕 Skydrive 所做的工作,从我所做的一些工作中获得了短期黑客攻击。它通过利用 Skydrive 应用程序已为每个 Live 帐户预先批准这一事实来避免该问题。然而,这是一个 hack。我想正确使用 OAuth,但这似乎不太实用。
尽管 Darin 非常勇敢地尝试提供帮助,结果发现了一些我希望在第一天就看到的东西,但我从他的链接中留下了这句话 http://msdn.microsoft.com/en-us/library/live/hh826529.aspx (我的重点)
To implement the client-side authentication flow, desktop apps must use a web browser control. Most development languages include such a control. In this example, our app uses the System.Windows.Forms.WebBrowser class. After sign in is complete, all subsequent Live Connect API calls can be accomplished by using the System.Net.WebRequest class. Use the web browser control to start the sign-in, passing a URL similar to this one.
他们只希望我使用他们的机器人进行登录,因为放弃对交易所的控制使得更难跳过提供用户干预的机会。没有固有的原因我无法自己实现登录过程。他们的 javascript 可以发布的任何内容我都可以使用 WebClient 发布。我可以做同样的加密。在道德层面上,如果用户不希望我的软件执行其操作,他们几乎不会提供他们的用户名和密码。
我已经标记了 Darin 的回答,因为他非常努力地提供帮助并提供了一些优秀的东西,但我想我会坚持我的小技巧,这令人失望。
最佳答案
您可以使用 implicit grant flow
富客户端应用程序 (grant_type=token
)。这个想法是有一个 WebBrowser 控件,它通过重定向到 live.com 授权服务器并提供回调 url 来启动身份验证流程。如果用户授权您的应用程序,live.com 将重定向回回调 url 并在 url 中传递访问 token :
http://contoso.com/Callback.htm#access_token=ACCESS_TOKEN
然后您可以从 WebBrowser 检索 url 的 access_token
片段,并使用它来执行经过身份验证的请求。您不需要在 WebBrowser 中解析返回的内容。您需要做的是从 url 中检索访问 token 。
还有 authorization grant code flow
(grant_type=code
) 更适合基于 Web 的应用程序。
你可以看看 following article
获取使用桌面应用程序的完整示例。
关于c# - 我如何从 live.com 获取 OAuth request_token?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15050113/
我刚刚在我的 Linux 主机上编译了 QTweetLib。我已编译并运行 pinauthstatusupdate 示例,没有任何更改。但是当我尝试获取 request_token 时,我得到了: F
我目前正在为 qml 环境使用 javascript 和 OAuth 开发 Twitter 应用程序。我被困在“request_token”端点,我不明白为什么。当我发送我的请求时,我只会收到“无法验
我这里有一些代码,我收到错误 401 未经授权。我已经检查了使用 Twitter 框登录。 public async Task get_Oauth_token_TaskAsync() {
我成功地分别使用了 openID 和 OAuth,但我无法让它们一起工作。 我是不是做错了什么: String userSuppliedString = "https://www.google.com
我正在尝试为我的应用获取 oauth token 。我关注了this tutorial但我收到这样的错误: { "errors": [ { "code": 32,
尝试获取一个时收到http 403响应错误请求 token 。 我已经检查了我的基弦的歌唱过程,这是正确的。如果 我使用 Twitter 开发站点上的默认 key ,它生成相同的他们在网站上列出的结果
我已按照回复帖子 withings api authentication 的步骤中所述设置了所有内容. 但是,当我复制并粘贴在第 2 步(向 URL 发送请求:)中生成的最终 URL 时,我的浏览器没
所以,我在为我的 Angular 应用程序制作 Twitter 登录方法时遇到了问题。问题是我什至无法完成第一步。我需要向 request_token API 发出发布请求(我正在执行此步骤 http
我正在使用以下方法 URI 从 Twitter 请求 token 。 注意:这里的新行仅用于显示目的。 http://twitter.com/oauth/request_token? oauth_co
我正在尝试将 oauth 流程集成到我的应用程序中。 调用 oauth/request_token 端点时收到 401 错误: "message": "401 - {\"errors\":[{\"co
这可能是一个重复的问题,但还没有答案。库 oauth-dot-net 和 DotNetOpenAuth 都非常复杂,一个似乎贯穿 OAuth 的主题,虽然 OAuth with Verificatio
所以我正在尝试从 Twitter 获取 token ,但失败了。我收到以下错误:“无法验证 oauth 签名和 token ”。我读过这可能是由于您的系统时钟错误。在 javascript 中,我使用
我正在尝试在 NodeJS 上使用 OAuth 进行身份验证,但出现此错误: Error getting OAuth request token : { statusCode: 401, data:
我正在尝试在我的 Game Maker 应用程序中使用 Twitter 通过 OAuth 向 Firebase 验证用户(Game Maker 不支持 SDK)。 通过 REST HTTP POST
Twitter 最近刚刚强制执行以下内容: 1) 您必须将 oauth_callback 值传递给 oauth/request_token。这不是可选的。即使您已经在 dev.twitter.com
我正在编写一个简单的 Twitter 登录并尝试获取请求 token 以将用户重定向到访问 token ,但我总是以无法验证您错误结束我试图将签名添加为最后一个 header ,但它也不起作用。当我删
我尝试通过 https://api.twitter.com/oauth/request_token 请求 token 但总是收到 401 错误。 我通过 curl 进行测试(很容易看到会发生什么)。
(注意如果你不懂clojure我可以用Java翻译代码,请问) 我将 scribe 与 clojure 一起使用,我发现使用 Twitter 登录时存在一些问题,我正在使用的代码: (def twit
我正在尝试使用 RestSharp访问 Etsy 的 API。这是我用来尝试获取 OAuth 访问 token 的代码: var authenticator = OAuth1Authe
从早上开始,我就一直在努力了解如何在我的 webApp (Spring-MVC) 和 Spring-Social 之间实现登录功能。我正在使用 XML 配置,看起来效果很好。我在使用 Twitter
我是一名优秀的程序员,十分优秀!