Azure移动服务getCurrentUser

时间:2015-06-01 21:03:21

标签: java android authentication azure-mobile-services azure-cloud-services

我有一个.net后端Azure移动服务。我一直在尝试从Android客户端获取当前用户信息。我使用以下代码

private void authenticate() {

    LoginRequest login = new LoginRequest();
    login.setUsername(txtUsername.getText().toString());
    login.setPassword(txtPassword.getText().toString());
    ServiceConstant.mClient.invokeApi("CustomLogin", login, LoginRequest.class,
            new ApiOperationCallback<LoginRequest>() {
                @Override
                public void onCompleted(LoginRequest result,
                        Exception exception, ServiceFilterResponse response) {
                    if (exception == null) {
                        try 
                        {
                            if (chkRemember.isChecked()) 
                            {
                                cacheUserToken(ServiceConstant.mClient.getCurrentUser());
                                Toast.makeText(getApplicationContext(),"cache success",Toast.LENGTH_SHORT).show();
                            }
                        } 
                        catch (Exception e) 
                        {
                            Log.e(TAG, "cache fail");
                            Toast.makeText(getApplicationContext(),
                                    "cache fail",
                                    Toast.LENGTH_SHORT).show();
                        }
                        Log.i(TAG, "giris basarili " + result);

                        Intent intent = new Intent(LoginActivity.this, DeviceScanActivity.class);
                        startActivity(intent);

                    } else {
                        Log.e(TAG, "login fail" + exception);
                        alert("login", "success\n" + exception);
                    }
                }
            });
}

当我尝试获取当前用户时,它返回null。我该怎么做才能获取当前的用户信息。我是Azure移动服务的新手,我不知道解决这个问题。

1 个答案:

答案 0 :(得分:1)

此自定义登录代码基于自定义API,因此它的结果不会像使用内置登录功能时那样自动存储。

当您从API获得结果时,您需要手动设置mClient的CurrentUser字段。

如果您关注this custom auth tutorial,则返回类型实际上将与客户端的MobileServiceUser类型匹配,您可以设置该值。有关更多详细信息,请参阅该教程的最后一部分,标题为&#34;使用客户端的自定义身份验证登录。&#34;