Url 移动设备的OAuth回调过程

Url 移动设备的OAuth回调过程,url,blackberry,callback,oauth,netflix,Url,Blackberry,Callback,Oauth,Netflix,我正在为黑莓手机设计Netflix应用程序。我目前正在OAuth上工作。我可以在应用程序的嵌入式浏览器字段中生成Netflix登录页面 用户登录后,Netflix将用户从登录页面发送到指定的回调url。回调url还将包含一个授权令牌,然后需要将其发送回Netflix 我的问题是:我应该如何在移动设备上做到这一点?是否制定了程序?我不确定如何从回调URL提取授权令牌并将其发送回我的应用程序。根据我的研究,Netflix似乎不会为用户提供PIN/验证器,然后输入应用程序 有人有什么想法吗 谢谢…有两

我正在为黑莓手机设计Netflix应用程序。我目前正在OAuth上工作。我可以在应用程序的嵌入式浏览器字段中生成Netflix登录页面

用户登录后,Netflix将用户从登录页面发送到指定的回调url。回调url还将包含一个授权令牌,然后需要将其发送回Netflix

我的问题是:我应该如何在移动设备上做到这一点?是否制定了程序?我不确定如何从回调URL提取授权令牌并将其发送回我的应用程序。根据我的研究,Netflix似乎不会为用户提供PIN/验证器,然后输入应用程序

有人有什么想法吗


谢谢…

有两种方法可以处理移动设备上的回调。第一个是将oauth_回调的值设置为“oob”。如果您的设备无法接收回调,则会执行此操作。参见OAuth规范,第2.1节:

使用“oob”应该会导致服务器(Netflix)显示一个验证码,然后用户在应用程序中键入该验证码以授权请求令牌


如果您的设备支持,第二种方法是使用自定义URI方案。我知道在iPhone上,您可以使用分配给应用程序的自定义方案注册回调。有没有办法在黑莓手机上做到这一点?如果是这样,我会使用这种方法,因为它是一种更好的用户体验

我发现这两页很有用:


与其嵌入browserfield,不如让移动应用程序与netflix进行所有必要的握手,创造无缝(即无浏览器)的用户体验。您需要设置一个公共域服务器作为OAuth的回调主机,并让它协商您的新会话密钥/密钥,然后将其传递回您的设备。 在此期间,设备需要保持与公共服务器的开放http连接,以便最终接收凭据并直接从netflix请求用户数据。 整个往返不应超过大约15秒,因此HTTP超时不应成为问题。 您需要首先研究(即“屏幕抓取”)netflix登录html页面,以提取必要/相关的html表单参数名称等。
祝你好运。

保罗,谢谢你的帮助。我认为我不能使用自定义URI方案。我尝试将oauth_callback设置为“oob”,在我登录Netflix登录页面后,唯一出现的是一个“转到Netflix”按钮,它将我带到Netflix站点……嗨,behrk2。嗯,如果BlackBerry不支持自定义URI方案,Netflix也不支持越界回调,那么听起来你可能不得不接受Netflix。你有没有试过在他们的支持论坛上发帖,询问他们对无法接受回调的设备有什么建议?顺便说一句,这里有一个链接指向Netflix论坛中的OAuth主题:看起来有人回复了你的帖子:所以如果他们只支持OAuth 1.0(而不是1.0a),那么你就没有机会使用oob配置。我会听从他们在Netflix论坛上给你的建议。将回调URL设置为您主持的指示用户重新启动应用程序的某个页面。。。重新启动时,将请求令牌(现在已授权)交换为访问令牌,您就可以开始了。它很笨重,但不支持注册uri方案或oob,这是你真正能做的。我很惊讶他们不支持1.0a。他们已经有6个多月的时间了。您完全可以向用户显示一个按钮,表示他们已授权令牌。当他们单击按钮时,您将尝试将请求令牌交换为访问令牌。如果失败,您必须重新启动流程(请求访问令牌、将用户指向授权端点等)。我同意按钮方式比重新启动应用程序更好的用户体验。我对这个想法很感兴趣。我过去曾考虑过,但不确定如何着手实施。我会试试看。谢谢这种方法是否违背了OAuth的主要目的之一——防止用户需要将用户名/密码传递给第三方服务器?哪个移动设备???对于blackberry,您可以使用j2me oauth