【问题标题】:Gigya doesn't logout of social sessionGigya 不会退出社交会话
【发布时间】:2015-01-06 05:27:36
【问题描述】:

我让 Gigya 使用社交登录正确登录。但是,当我尝试使用 [Gigya logout] 注销时,当我在登录屏幕上点击我的 Google 按钮时,它会在不询问我的 Google 凭据的情况下让我重新登录。

如何让它再次询问我的 Google 凭据?

谢谢。

【问题讨论】:

    标签: ios gigya


    【解决方案1】:

    如果您已配置 Google+ 原生登录,则您的应用已获得用户授权。因为设备上的 Google+ 应用程序有一个活动的 Google+ 会话,所以当 Gigya 向本机应用程序请求身份验证时,它会检测到有一个活动的会话并且该应用程序已经被授权。因此,用户会自动登录,而不会提示输入凭据。此行为是预期的,并且是设计使然。如果您想强制用户每次都进行身份验证,则需要按如下方式完成:

    在调用[showLoginProvidersPopover:providers:parameters:...] 时,请确保包含参数"forceAuthentication",其值为 YES,如 loginToProvider 文档中所述:

    例如:

    NSDictionary *params = @{
         @"forceAuthentication":@YES
    };
    [Gigya showLoginProvidersDialogOver:self
        providers:@[@"facebook", @"twitter", @"googleplus"]
        parameters: params
        completionHandler:^(GSUser *user, NSError *error) {
            if (!error) {
                // Login was successful
                }
            else {
                // Handle error
                }
    }];
    

    【讨论】:

    • 我同意自动登录是正确的正常流程,但是如果我为用户提供注销选项,那么它不应该自动登录到社交提供者。
    • 它不会自动将用户登录到社交服务提供商。用户已经通过 Google+ 应用登录到社交服务提供商。用户只需为您的应用授予一次 Google+ 权限。对[Gigya logout] 的调用不会使用户退出 Google+ 应用程序;仅在您的应用程序上来自 Gigya。 Google 已明确禁止外部应用程序更改 Google+ 应用程序中的活动会话,因为它可能被恶意使用。
    • Gigya 在用户“登录”时仍会向 G+ 请求授权。如果 Google+ 应用中没有活动会话,则会提示用户输入凭据以登录。
    • 现在测试一下,发现它不像 Google 宣传的那样工作。使用 google 登录后,我无法再显示 google 登录信息。似乎适用于 Facebook 和 Yahoo,但不适用于 Google。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    相关资源
    最近更新 更多