ios app因使用来自移动中心的AWS cognito实施而被拒绝

时间:2016-06-28 22:27:47

标签: facebook amazon-web-services authentication amazon-cognito

我们最近因为以下原因而拒绝了我们的ios应用程序:

  

我们注意到用户被带到Safari登录或注册帐户,这提供了糟糕的用户体验。

然而,启动facebook / Google登录的safari窗口的位是AWSMobileHubHelper框架的一部分,因此我们无法修改该代码。

非常感谢任何想法/解决方案。

2 个答案:

答案 0 :(得分:2)

所以我找到了一个解决方法。我只是抓住GIDSignIn实例并自己更改属性。如果其他任何人想知道如何,你所要做的就是:

  1. 添加网桥标头并导入#import <GoogleSignIn/GoogleSignIn.h>
  2. 在主登录控制器上实现GIDSignInUIDelegate的presentViewController方法
  3. 
        func signIn(signIn: GIDSignIn!, presentViewController viewController: UIViewController!) {
            presentViewController(viewController, animated: true, completion: nil)
        }
    
    
    1. 编辑演示登录代码,如下所示:
    2. 
      
           func loginWithGoogle(delegate: GIDSignInUIDelegate!) {
                  let googleProvider = AWSGoogleSignInProvider.sharedInstance()
      
                  // It is important that these are initialized after 
                  // AWSGoogleSignInProvider.sharedInstance() is called
                  GIDSignIn.sharedInstance().uiDelegate = delegate
                  GIDSignIn.sharedInstance().allowsSignInWithBrowser = false
                  GIDSignIn.sharedInstance().allowsSignInWithWebView = true
      
                  handleLoginWithSignInProvider(googleProvider, callback: callback)
              }
      
      

答案 1 :(得分:0)

从使用Facebook SDK的iOS 9开始,这是Facebook登录的预期行为。 Mobile Hub快速入门应用程序只是应用Facebook SDK 3并按照指示使用API​​。查看下面的简要说明并阅读评论以获得更好的洞察力。这不是Facebook的热门决定,如果您想进行实验,其他人已经提供了解决方法(通过移动浏览器强制用户身份验证)。至于AWSMobileHubHelper框架,我们正在考虑在某些时候提供它,但没有时间表。

“逻辑自动默认人们获得iOS 9的最佳体验。这意味着Facebook登录,Facebook和Messenger共享,App邀请,App Events或Native Like的SDK对话框将自动确定人们的最佳体验基于他们的设备。“

来源: https://developers.facebook.com/blog/post/2015/09/10/new-SDK-for-iOS9/