AWS Cognito用户池-成功登录后如何获取经过身份验证的用户会话信息?

时间:2018-11-23 04:08:18

标签: android amazon-cognito aws-userpools

从Cognito会话登录后如何获取用户信息,甚至检查会话是否有效?

AWS提供了有关如何获取该信息的教程,但是,如何在成功登录到其他活动后重定向后如何获取该信息?并可以访问当前用户的用户数据? AWS tutorial的使用方式是使用onSuccess方法并使用其参数CognitoUserDetails cognitoUserDetails,但是您需要cognitoUser来访问这些信息。下面是我对重定向的Activity进行的AWS实施。

// Implement callback handler for getting details 
GetDetailsHandler getDetailsHandler = new GetDetailsHandler() {
    @Override
    public void onSuccess(CognitoUserDetails cognitoUserDetails) {
        // The user detail are in cognitoUserDetails
    }

    @Override
    public void onFailure(Exception exception) { 
        // Fetch user details failed, check exception for the cause
    }
};

// Fetch the user details 
cognitoUser.getDetailsInBackground(getDetailsHandler);

我设法获取任何用户信息的方式是每次都将有意图的一些用户数据传递给下一个活动,这似乎非常无用。这就是我为了获得cognitoUser而一直在做的事情。当然,username是我选择从上一个活动传递的用户数据。

CognitoUserPool userPool = new CognitoUserPool(
                context, Constants.Pool_Id, Constants.App_client_id,
                Constants.App_client_secret, Regions.US_EAST_2
);
CognitoUser cognitoUser = userPool.getUser(username);

在Django中,我可以通过在几乎所有界面上执行类似request.user的操作来轻松获取用户数据。我的问题是,成功登录后是否有任何方法可以获取用户数据,检查用户是否登录,访问会话数据而不将用户数据每次传递给活动?

0 个答案:

没有答案