如何authentication后从雅虎redirect到我的IOS应用程序?

我正在一个应用程序,我必须使用雅虎帐户login。 我已经通过这个链接,并按照程序,因为它在那里。但我无法回到我的应用程序authentication后。谷歌search后,我在这里find了答案。他说:“在您的info.plist中添加一个URL计划文件与YOUR_APP_ID_OR_BUNDLE_ID“我做了同样的,但无法从雅虎redirect到我的应用程序。如果任何人在这工作,请帮助我。提前感谢。

这是我在我的URL Schemes中完成的 在这里输入图像说明

JCzOzd44是我的应用程序ID。

在创build应用程序的雅虎帐户。我应该在“应用程序域”

在这里输入图像说明

我没有与Yahoo! API工作。 Yahoo! API ,但在oauth它的工作原理是这样的:

  • 在您的应用程序中创build一个urlscheme。 您可以在项目设置的信息部分(URLtypes)中执行此操作。 无论您想要什么名称的计划,例如您的应用程序ID。

  • 当您validation您的应用程序时,您可以传递一个名为oauth_callback的参数 。 在这里你必须传递刚才创build的urlscheme的名字。

这应该是 – 当雅虎方面的login是好的,它会尝试打开注册为它作为callback参数的urlscheme的应用程序。

更新:

从Yahoo! API文档 – 这是您在代码中的某个地方请求oauth标记时所做的调用(我填充了urlscheme作为callback,这是它的样子):

 https://api.login.yahoo.com/oauth/v2/ get_request_token?oauth_nonce=ce2130523f788f313f76314ed3965ea6 &oauth_timestamp=1202956957 &oauth_consumer_key=123456891011121314151617181920 &oauth_signature_method=plaintext &oauth_signature=abcdef &oauth_version=1.0 &xoauth_lang_pref="en-us" &oauth_callback="JCzOzd44://" 

当然,这个请求应该被签名。

我已经find了解决scheme,但有一点花销。 步骤是:1>在你自己的服务器上创build一个PHP脚本(比如named,YRedirect.php)。 2>将以下代码粘贴到它中 –

 CODE <?php $query = $_SERVER['QUERY_STRING']; header("Location: com-mycompany-myapp://oauth-response?" . $query); > 

其中“com-mycompany-myapp”是您的包标识符

3>使用YOUR_APP_ID_OR_BUNDLE_ID在您的info.plist文件中添加一个URL Scheme。 就是这样,你完成authentication问题。

在你的代码中

 [self.session sendUserToAuthorizationWithCallbackUrl:@"http://yourdomain.com/YRedirect.php"]; 

然后,从您的Info.plist文件中为您的iPhone应用程序注册一个自定义URLscheme,然后设置您的服务器端脚本,通过您刚刚设置的URLscheme将Safariredirect回您的应用程序。

感谢这个有价值的信息。 按照你的指示,我得到了authentication和回拨工作,并在PHP页面加载应用程序。