Я использую aws Cognito в scala Play Framework на основе веб-приложения в качестве решения для управления пользователями. Я использую следующий код для входа в систему.
var mIdentityProvider: AWSCognitoIdentityProvider = getAmazonCognitoIdentityClient;
def sessionLogin(userName: String, password: String): AdminInitiateAuthResult = {
val authParams: java.util.Map[String, String] = new java.util.HashMap[String, String]()
authParams.put("USERNAME", userName)
authParams.put("PASSWORD", password)
val authRequest = new AdminInitiateAuthRequest()
.withAuthFlow(AuthFlowType.ADMIN_NO_SRP_AUTH)
.withUserPoolId("***")
.withClientId("***")
.withAuthParameters(authParams)
val authResult = mIdentityProvider.adminInitiateAuth(authRequest)
authResult
}
Приведенный выше код возвращает accessToken, expiresIn, tokenType, refreshToken и idToken с aws сервера Cognito. Согласно документации aws, мы можем использовать refreshToken для получения нового accessToken или idToken, когда истекает accessToken, чтобы продолжить сеанс пользователя. Но в документе не упоминается, как использовать для этой цели refreshToken. Любая помощь в этом отношении была бы полезна. Заранее спасибо.