在iPhone应用程序中启动Safari中的URL非常简单 - UIApplication的openURL方法。
但是,我正在做一些OAuth的事情,并希望关注pattern that pownce used to handle OAuth。但自OAuth wants me to explicitly set the Authorization header以来,我不知道如何继续。我可以通过NSMutableURLRequest设置标题...但是如何转换为创建我的应用程序可以传递给UIApplication方法的NSURL?
答案 0 :(得分:2)
在服务器到服务器交互期间,将OAuth参数从Consumer传递到服务提供者的推荐方法是使用HTTP Authorization标头。但是,当用户被消费者重定向到服务提供者时,OAuth实际上指定应该使用HTTP GET请求(参见6.2.1节,我无法链接b / c我是新用户,并且只能发布一个超链接 - 非常恼人的StackOverflow)。因此,无需将NSURLRequest传递给移动版Safari,只需按照您的描述打开URL。
如果您有兴趣查看iPhone上完整OAuth流程的代码示例,请随时查看sample FireEagle app I wrote。它的实现方式与Pownce应用程序大致相同。
答案 1 :(得分:0)
从我所看到的,在iPhone应用程序中实现OAuth支持的常用方法是在其中显示带有webview的模式表。这允许您将NSURLRequest与自定义标头一起使用。