iPhone应用程序中的Facebook SDK登录
Posted
技术标签:
【中文标题】iPhone应用程序中的Facebook SDK登录【英文标题】:Facebook SDK Login in Iphone Application 【发布时间】:2011-02-25 08:15:04 【问题描述】:我正在使用适用于 ios 的 Facebook SDK。
为了登录,一个 UIWebView 来了,我们必须添加用户名和密码。我不想这样登录。
如果用户从 iOS 应用程序中提供用户名和密码,是否可以在后台或不打开 UIWebView 的情况下进行登录?
【问题讨论】:
【参考方案1】:FaceBook 的 SDK 不允许这样做.. 他们实现了 oauth 登录方法,因此用户无需向应用程序提供用户名和密码,用户直接在 Web 视图中输入凭据并通过以下方式进行身份验证FB服务器。但作为响应,应用程序会收到一个访问令牌,它可以保存并用于未来的交易,用户不需要再次输入他的用户名或密码。本教程在这方面可能会有所帮助:
http://www.raywenderlich.com/1488/how-to-use-facebooks-new-graph-api-from-your-iphone-app
SDK 中提供了委托方法,您可以在其中保存访问令牌。
【讨论】:
作为 ebuddy 应用程序将用户名和密码保存在移动设备上并在后台应用程序登录到 facebook...我想要这样的东西 因为我的应用程序有自己的用户名和密码,如果他/她登录应用程序,如果他/她已经提供了详细信息,也希望自动登录到 Facebook 对不起...还没有使用ebuddy!!但是一旦获得访问令牌后,您就可以在后台登录用户。 但在这种情况下,用户每次登录应用程序时都必须登录...但我想如果他/她已经提供了真实的详细信息,那么不应该每次都输入用户名/密码登录。 ..........ebuddy 是一个移动聊天应用程序【参考方案2】:我正在使用 FaceBook Sdk 旧版本,在这个你可以通过这个使用 Session 只有一次它会要求登录,
http://www.raywenderlich.com/77/how-to-post-on-facebook-with-your-iphone-app
本教程如你所愿
【讨论】:
一次意味着...如果我将用户名密码保存在数据库中,那么用户无需登录...它会在后台自动登录 登录前如何知道用户名。至少有一次他需要登录才知道? 另一个问题***.com/questions/5141703/…【参考方案3】:您无法保存检索 facebook 用户名和密码,并且由于隐私问题,您不应该将其保存在您的数据库中,您可以做的是当您的用户第一次登录权限时请求离线访问,然后您将获得一个无限期有效的访问令牌,您可以保存此 access_token。
【讨论】:
但我认为我们可以将密码保存在 iphone 本地应用程序中的任何文件或 sqlite 中 嗨,阿米特,使用任何打开的 id 或像这样的登录名,例如,您一定已经看到 facebook 要求输入 gmail id 和密码来检查您所有的 gmail 联系人在 facebook 中的人,他们也不要存储您的密码,因为用户会将您的密码提供给任何随机开发人员,您不会。此外,最好不要存储它。如果 access_token 可以满足您的所有需求,为什么您需要存储密码,您的用例是什么,您想要实现什么?【参考方案4】:-(void)viewDidLoad
[super viewDidLoad];
NSString *urlString = @"http://www.XYZ.com";
url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[web loadRequest:request];
-(void)webViewDidStartLoad:(UIWebView *)webView
[webView stringByEvaluatingjavascriptFromString:[NSString stringWithFormat:
@"var field = document.getElementById('ctl00_txtPassword');"
"field.value='%@';",password]];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"var field = document.getElementById('ctl00_txtUsername');"
"field.value='%@';",username]];
-(void)webViewDidFinishLoad:(UIWebView *)webView;
[self.web stringByEvaluatingJavaScriptFromString:@"fnLogin();"];
它很容易解决您的问题。
【讨论】:
以上是关于iPhone应用程序中的Facebook SDK登录的主要内容,如果未能解决你的问题,请参考以下文章
使用 Facebook SDK 时 iPhone 应用程序崩溃
使用新的 facebook-ios-sdk 在 iphone 上未显示 Facebook Connect 登录对话框
无法通过 iphone sdk 中的 [FBSDKAccessToken currentAccessToken] 获取访问令牌
为啥 facebook sdk 会自动让我登录 iPhone 上安装的 facebook 应用程序?
在 iPhone 应用程序中,如何将照片发布到 Facebook 粉丝页面。在它之前如何喜欢它?使用 facebook-ios-sdk