有没有可能从一个网页(而不是一个Web应用程序)调用本机ios Facebooklogin对话框?

我们有一个使用本地Facebooklogin的iOS应用程序就好了。

然后我们也有一个网站(应用程序基本上是一个优化的客户端),人们也可以通过Facebooklogin。 当他们在移动Safari浏览器打开我们的网站,他们被引导到Facebook页面进行身份validation,它的工作原理,但是..它仍然远离本机和用户不得不重新input凭据,他们经常在ios中已经。

那么是否有可能以某种方式启动系统fb身份validation只是一个网页(也许使用一些聪明的url架构?),并获得授予令牌回networking?

困难的方法http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified#mobile-apps中所述,您可以findURLscheme来触发本机iOS应用程序授权:

fbauth://authorize?redirect_uri=[redirect_uri]&client_id=[client_id]&response_type=token 

但是,如果您调用该链接,则无法进行redirect。 你可以尝试破解redirect,但也许你找不到出路。

解决这个问题的一个安全的方法是使用SSO令牌在您的应用程序login时对用户进行身份validation,然后在Safari上进行redirect,将自定义url发送到您的应用程序,作为通过令牌存储到FB应用程序的桥梁在你的APP。 在FB身份validation之后,您可以直接将用户redirect到Safari中的着陆页。 正如@Lego所说,这是一种直接进行身份validation的另一种方式,可以深入到FB使用的自定义URL。

不,通过本地Facebook应用程序不能直接validation用户身份,但可以使用自定义URLscheme对用户进行身份validation,从而打开您的本机iOS应用程序,然后处理身份validationstream程:

  1. 用户使用iOS应用程序进行本地authentication。 然后,您将用户login( 而不是密码)存储在您的应用程序(即使用NSUserDefaults )。

  2. 然后用户在Mobile Safari中打开您的网页。 你通过一个自定义的URLscheme将用户redirect到你的应用程序(即使用myapp://authentication)。 苹果关于实现自定义URLscheme的文档: 点击

  3. 现在,如果您的iOS应用程序中有活动的FB会话,则可以直接将用户redirect到Mobile Safari中的着陆页,通过url getparameter passing访问令牌,或者首先重新validation用户,显示login用预先填好的用户名查看(之前已存储在iOS应用程序中)(步骤1),然后将用户redirect到login页面,所有操作都取决于会话状态和安全需求。

要打开脸书应用程序,您可以使用自定义URLscheme。 但我不知道你是否可以从中authentication用户。 如果你也可以,那么它将被限制在已经在该设备上configuration的fb帐户,所以最好使用face book API

我不明白你的问题,但我认为,根据你的问题,你想创buildfb应用程序在Safari或您的自定义Web视图中login。

这是完美的吗?

根据我的知识Web视图是不同的东西和本地应用程序是不同的东西。

如果你是在web视图中login,那么不需要检查任何标记或其他东西,因为它会给你注销的东西。

但如果你是在你的应用程序login,那么“developer.facebook.com”一定会帮助你。
是的,你会做你的应用程序中的大部分东西作为本地Facebook应用程序做。

希望它帮助….