2009-07-13 63 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