【问题标题】:unable to use google Oauth with Azure mobile services in android app无法在 Android 应用程序中将 Google Oauth 与 Azure 移动服务一起使用
【发布时间】:2014-11-06 10:22:38
【问题描述】:

我正在尝试使用 azure 移动服务及其身份验证提供程序为 android 应用添加身份验证。我正在使用移动服务 1.1.5 jar 并且我的 android 项目以 API 19 为目标。

方法 login(MobileServiceAuthenticationProvider, JsonObject, UserAuthenticationCallback) 的类型不明确 移动服务客户端

这是我的代码

private void authenticate() { // Login using the Google provider.

    ListenableFuture<MobileServiceUser> mLogin = mClient.login(null, null, null);

    Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() {
        @Override
        public void onFailure(Throwable exc) {
            createAndShowDialog((Exception) exc, "Error");
        }           
        @Override
        public void onSuccess(MobileServiceUser user) {
            createAndShowDialog(String.format(
                    "You are now logged in - %1$2s",
                    user.getUserId()), "Success");
            createTable();  
        }
    });     

    }

【问题讨论】:

    标签: android azure azure-mobile-services


    【解决方案1】:

    ListenableFuture 重载在 SDK 1.1.5 中不可用。您将需要版本 2.0.1 beta SDK。 Azure team blog 上提供了概述和下载此版本的链接。

    此外,login() 的新重载不采用三个参数。您将需要传入一个提供程序,它可以是字符串或 MobileServiceAuthenticationProvider 对象。您也可以选择传递一个令牌,它可以是字符串或 JsonObject。

    如果您的目标是使用 Google 身份验证,我希望您会调用以下代码:

    ListenableFuture<MobileServiceUser> mLogin = mClient.login("google");
    

    如果有用,source for the beta SDK 可用。

    或者,您可以继续使用 1.1.5 SDK,但如果您希望对结果采取措施,您可能需要提供 UserAuthenticationCallback 对象。这将是 login() 的附加可选参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 2011-09-04
      • 1970-01-01
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多