2009-07-13 52 views
0

在iPhone中启动URL非常简单 - UIApplication的openURL方法。使用NSMutableURLRequest和OAuth从iPhone应用程序启动Safari

但是,我正在做一些OAuth的东西,并且想要遵循pattern that pownce used to handle OAuth。但由于OAuth wants me to explicitly set the Authorization header,我不知道如何继续。我可以通过NSMutableURLRequest设置标题...但是,这怎么转化为创建一个NSURL,我的应用程序可以传递给UIApplication方法?

回答

2

在服务器到服务器交互过程中,将OAuth参数从消费者传递到服务提供者的推荐方法是使用HTTP授权标头。但是,当用户将用户重定向到服务提供者时,OAuth实际上指定应该使用HTTP GET请求(请参阅第6.2.1节,我无法链接b/c我是新用户,只能发布一个超链接 - 非常烦人的StackOverflow)。因此,不需要将NSURLRequest传递给移动Safari,只需按照您所描述的那样打开URL即可。

如果您有兴趣查看iPhone上完整OAuth流程的代码示例,请随时查看sample FireEagle app I wrote。它的实施方式与Pownce应用程序非常相似。

+0

非常感谢,迈克! – bpapa 2009-07-13 19:17:24

0

从我所看到的,在iPhone应用程序中实现OAuth支持的常用方法是在其中呈现带有webview的模式表单。这允许您使用带自定义标头的NSURLRequest。

+0

这是事实,但它违背了OAuth的精神,在您自己的应用程序中呈现页面。 – bpapa 2009-07-13 12:29:05

相关问题