【发布时间】:2012-11-18 16:19:41
【问题描述】:
我开始编写一个使用 Deezer Api 的 Winforms 应用程序。
目前,我被他们的 OAuth 身份验证流程卡住了。
Deezer 的 OAuth 身份验证过程接受两种不同的流程来对用户进行身份验证和授权:服务器端流程和客户端流程。
- Web 应用程序使用服务器端流程
- 客户端流程与 javascript 和移动应用程序中的浏览器客户端应用程序一起使用。
我假设(可能是错误的)我可以使用客户端流程来让用户在 Winforms 应用程序中进行身份验证:
然后我编写了一个表单,在 WebBrowser 控件中启动 Deezer 登录网页,认为我可以解析响应后获取访问令牌。通常情况下,如果我将response_type=token 参数添加到登录页面URL,页面将允许它。
不幸的是,还必须提供redirect_uri 参数。但是,我不打算使用网站,因为它不适用于我的场景。
显然,没有办法欺骗这一点,登录页面显示一条错误消息,指出它丢失并拒绝启动身份验证过程。
在询问 Deezer 如何针对 Winform 应用程序使用他们的 API 之前,我想知道是否有人已经遇到过这个问题,以及他是如何设法解决的。
因为我是 OAuth 的新手,所以我想知道我是否遗漏了一些要点,或者 Deezer API 是否不适用于我的场景。
【问题讨论】:
-
我不知道答案,但您可以阅读此主题stackoverflow.com/questions/3744336/oauth-for-desktop-apps
-
非常感谢您的指点。不幸的是,我没有设法让它工作。我认为它来自于 Deezer OAuth 在服务器端的实现方式:它绝对需要一个 redirect_uri。
标签: .net winforms oauth deezer