Как получить информацию о пользователе после входа в систему из сеанса Cognito или даже проверить, является ли сеанс действительным?
В AWS есть учебное пособие о том, как получить эту информацию, ОДНАКО, как вы получаете эту информациюпосле перенаправления при успешном входе в другой вид деятельности?и есть доступ к данным пользователя для текущего пользователя?То, как AWS учебник делает это, использует метод onSuccess
и использует его аргументы CognitoUserDetails cognitoUserDetails
, однако вам необходим cognitoUser
для доступа к этой информации.Ниже приведена реализация 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
практически на любом интерфейсе.У меня вопрос: после успешного входа в систему есть ЛЮБОЙ СПОСОБ как получить данные пользователя, проверить, вошел ли пользователь в систему, получить доступ к данным сеанса, не передавая данные пользователя в действия каждый раз?