【发布时间】:2020-05-18 23:57:08
【问题描述】:
我在基于 scala play 框架的 Web 应用程序中使用 aws cognito 作为用户管理解决方案。我正在使用以下代码登录。
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
}
以上代码从 aws cognito 服务器返回 accessToken、expiresIn、tokenType、refreshToken 和 idToken。 根据 aws 文档,我们可以在 accessToken 过期时使用 refreshToken 获取新的 accessToken 或 idToken 以继续用户会话。但是在文档中没有提到如何为此目的使用 refreshToken。任何有关这方面的帮助都是不言而喻的。提前致谢。
【问题讨论】:
标签: java scala amazon-cognito aws-java-sdk playframework-2.6