user should be able log in without opening Safari first

2014-06-15 09:27:39 +08:00
 tylr
我的第二个应用被拒了,原因是 ‘The app opens a web page in mobile Safari for logging in, then returns the user to the app. The user should be able log in without opening Safari first.‘

我做的是一款调用Tumblr API的应用,用户初次使用点击Log In按钮后,会跳转到Safari中的Tumblr登录页面,登录并同意后便会回到应用,现在停火的Tinder也是用的一样的授权方式,但我的就给拒了(在申诉的时候我还真说的是为何Tinder行我不行,让再考虑下,目前还没有收到进一步的回复)。

我在琢磨要怎么改,还望高人们给些指引,我想无非就两个方案:

1. 估计也是审查者最中意的办法,即在uiview里面创建个username UITextField以及password UITextField,用户输入后post提交到Tumblr进行authentication。但这有可能吗?对于用户来说也太不安全了吧,这算是经常听到的跨域提交吗?

2. 自己内嵌个UIWebView,通过将consumer_key和consumer_secret以post的方式在webView中加载request token的地 http://www.tumblr.com/oauth/request_token 从而获取OAuthToken和OAuthTokenSecret,但这和通过Safari没有本质的区别吧,也不知道能通过审核不
3102 次点击
所在节点    iDev
3 条回复
ahr0u
2014-06-15 23:45:13 +08:00
我想授权在webView中完成,不用跳转到Safari中,我看了下TMTumblrSDK的代码,准备将该库中负责authenticate的代码(整个方法的代码如下)中的这句,[[UIApplication sharedApplication] openURL:authURL]; 改为创建UIwebView -> 添加到self.view中,然后[webView loadRequest:[NSURLRequest requestWithURL:authURL]];,但发现在这个第三方库中无法访问到viewController(从而无法self.view addSubview: webView),尝试了通过appDelegate来找到viewController,但也不行,请教这种情况该如何做呢?
Olivia
2014-06-16 16:29:58 +08:00
目前方法 2 是大部分 app 的方式。
tylr
2014-06-16 16:33:15 +08:00
@Olivia 谢谢Olivia,我最后也的确用的这种方式 :D

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/117564

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX