我正在开发一个应用程序,我必须使用雅虎帐户登录。 我经历了this link并按照原来的程序进行了操作。但是我无法在认证后回到我的应用程序。在谷歌搜索后我找到了答案here。他在这里说“添加一个您的info.plist文件中的URL方案与YOUR_APP_ID_OR_BUNDLE_ID“我做了同样的事情,但无法从雅虎重定向到我的应用程序。如果任何人在这方面工作,请帮助我。提前谢谢。
这就是我在网址方案
中所做的其中JCzOzd44是我的应用ID。
在创建应用程序时在yahoo帐户中。我应该在“应用程序域”中给出什么
答案 0 :(得分:5)
我还没有使用Yahoo! API
,但在oauth
中它的工作原理如下:
在您的应用中创建网址方案。您可以在项目设置的信息部分(网址类型)中执行此操作。根据需要为方案命名,例如您的应用程序ID。
在对应用进行身份验证时,您可以传递名为oauth_callback
的参数。在这里,你必须传递刚创建的url方案的名称。
应该是这样 - 当雅虎方面登录正常时,它会尝试打开为其获取的url方案注册的应用程序作为回调参数。
<强>更新强>
来自Yahoo! API documentation - 这是您在代码中某处请求oauth令牌时所做的调用(我将您的url方案填充为回调,这应该是它的样子):
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://"
当然应该签署请求。
答案 1 :(得分:5)
我已经找到了解决方案但有一点开销。 步骤是:1>在您自己的服务器中创建一个PHP脚本(比如命名为YRedirect.php)。 2 - ;将以下代码粘贴到其中 -
CODE
<?php
$query = $_SERVER['QUERY_STRING'];
header("Location: com-mycompany-myapp://oauth-response?" . $query);
>
“com-mycompany-myapp”是您的包标识符
3&GT;使用YOUR_APP_ID_OR_BUNDLE_ID在info.plist文件中添加URL方案。就是这样,你就完成了身份验证问题。
在您的代码中
[self.session sendUserToAuthorizationWithCallbackUrl:@"http://yourdomain.com/YRedirect.php"];
然后,从Info.plist文件中为您的iPhone应用程序注册自定义URL方案,然后设置服务器端脚本,通过刚刚设置的URL方案将Safari重定向回您的应用程序。
感谢您提供有价值的信息。按照你的指示,我得到了auth&amp;回调工作,php页面加载应用程序。