有没有可能从一个网页(而不是一个Web应用程序)调用本机ios Facebooklogin对话框?
我们有一个使用本地Facebooklogin的iOS应用程序就好了。
然后我们也有一个网站(应用程序基本上是一个优化的客户端),人们也可以通过Facebooklogin。 当他们在移动Safari浏览器打开我们的网站,他们被引导到Facebook页面进行身份validation,它的工作原理,但是..它仍然远离本机和用户不得不重新input凭据,他们经常在ios中已经。
那么是否有可能以某种方式启动系统fb身份validation只是一个网页(也许使用一些聪明的url架构?),并获得授予令牌回networking?
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程:
-
用户使用iOS应用程序进行本地authentication。 然后,您将用户login( 而不是密码)存储在您的应用程序(即使用
NSUserDefaults
)。 -
然后用户在Mobile Safari中打开您的网页。 你通过一个自定义的URLscheme将用户redirect到你的应用程序(即使用myapp://authentication)。 苹果关于实现自定义URLscheme的文档: 点击
-
现在,如果您的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应用程序做。
希望它帮助….
- 我怎样才能让我的networking应用程序iPhone 5兼容?
- 使用javascript或url在iPhone上检测安装的应用程序
- 检测浏览器是否支持embedded式媒体的自动播放 – YouTube playVideo()和iOS
- iOS Safari:100%宽度的固定位置标题比视口宽
- 移动Safari:惰性滚动身体和最小的用户界面行为?
- Mac e iOS钥匙串:来自Apple的funziona il portachiavi iCloud
- iPhone HTML链接到在移动版Safari中打开页面的maps.google.com,而不是Maps App
- Mobile Safari和HTML5 iOSnetworking应用程序支持哪些audio文件types(例如,mp3,ogg)?
- touchmove中的JavaScript DOM更改延迟,直到移动Safari上的滚动结束