从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
的操作来轻松获取用户数据。我的问题是,成功登录后是否有任何方法可以获取用户数据,检查用户是否登录,访问会话数据而不将用户数据每次传递给活动?