aws cognito用户获取id令牌android

寸阳分阴须爱惜,休负春色与时光。这篇文章主要讲述aws cognito用户获取id令牌android相关的知识,希望能为你提供帮助。
我正在尝试在android中获取当前登录用户的ids令牌以获取aws cognito。
我找到了这个例子:session.getIdToken()。getJWTToken()其中session是CognitoUserSession对象
在登录呼叫完成后,我似乎无法找到获得当前认知能力的方法。
我正在使用笔记教程中的默认验证器活动:https://docs.aws.amazon.com/aws-mobile/latest/developerguide/tutorial-android-aws-mobile-notes-auth.html
它说令牌存储在共享首选项中,但我无法弄清楚如何在将来的活动中检索它们,以便我可以使用id令牌调用api网关。
答案当令牌未/将过期时,AWS Android SDK将在没有网络呼叫的情况下返回JWT令牌。
可以使用CognitoIdentityProviderClientConfig.setRefreshThreshold(long)方法设置何时刷新令牌的阈值。
如果您对如何自己检索令牌感到好奇,那么可以在readCachedTokens()方法中找到代码https://github.com/aws/aws-sdk-android/blob/master/aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/mobileconnectors/cognitoidentityprovider/CognitoUser.java#L2116
另一答案由于还没有人回答,这可能会帮助你,请注意这是JS代码:
【aws cognito用户获取id令牌android】这是我从已登录用户接收会话的例程。在此之后,我可以访问令牌。

var user_data = https://www.songbingjia.com/android/{ UserPoolId: AWSConfiguration.UserPoolId, ClientId: AWSConfiguration.ClientAppId }; var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(user_data); if (userPool.getCurrentUser() != null) { userPool.getCurrentUser().getSession(function (err, session) { if (err) { window.location.href ="login.html"; } var user_params = { IdentityPoolId: AWSConfiguration.IdPoolId, Logins: { 'cognito-idp.eu-central-1.amazonaws.com/eu-central-1_XXX':session.idToken.jwtToken } }; AWS.config.credentials = new AWS.CognitoIdentityCredentials(user_params); AWS.config.region = AWSConfiguration.region; AWS.config.credentials.refresh((error) => { if (error) { console.error(error); } else { user_is_authenticated(); } }); }); }


    推荐阅读