问题 如何从amazon cognito javascript注销并清除缓存的identityId


到目前为止,我已设法登录到cognito并同步数据,但我仍然坚持签署用户。能够从身份提供商注销但在再次登录到cognito时我收到无效登录的错误。当我重新加载应用程序虽然它工作。


7110
2018-04-08 20:42


起源



答案:


一个 问题 已为此创建。当前的解决方法是清除Cognito Credentials对象中的缓存ID,然后重新初始化它:

cognitoCredentials.clearCachedId();
cognitoCredentials = new AWS.CognitoIdentityCredentials(cognitoParams);
AWS.config.credentials = cognitoCredentials;

其中cognitoParams是用于初始化凭证的对象,例如:

cognitoParams = {
  IdentityPoolId: 'us-east-1:ebee2fff-acde-4382-a090-5990604a007d'
};

9
2017-09-15 18:51





从身份提供商退出后,尝试呼叫 clearCachedId() 在...上 CognitoIdentityCredentials 供应商。它应该看起来像:

AWS.config.credentials.clearCachedId();


1
2018-04-09 22:05



不幸的是,这似乎也没有用。我有多个登录,即Facebook和谷歌。当我尝试从其中一个注销并切换到另一个时出现问题。我收到以下错误{__ type:“NotAuthorizedException”消息:“登录不匹配。请。至少包含一个此身份或身份池的有效登录信息。”} - kabangi julius
@kabangijulius:你能修复这个例外吗?面对同样的 - BaSha
@BaSha我没有达到我想要的效果,但我意识到当我在注销后重新加载应用程序时它可以工作。所以每次注销后我都会重新加载。 - kabangi julius


答案:


一个 问题 已为此创建。当前的解决方法是清除Cognito Credentials对象中的缓存ID,然后重新初始化它:

cognitoCredentials.clearCachedId();
cognitoCredentials = new AWS.CognitoIdentityCredentials(cognitoParams);
AWS.config.credentials = cognitoCredentials;

其中cognitoParams是用于初始化凭证的对象,例如:

cognitoParams = {
  IdentityPoolId: 'us-east-1:ebee2fff-acde-4382-a090-5990604a007d'
};

9
2017-09-15 18:51





从身份提供商退出后,尝试呼叫 clearCachedId() 在...上 CognitoIdentityCredentials 供应商。它应该看起来像:

AWS.config.credentials.clearCachedId();


1
2018-04-09 22:05



不幸的是,这似乎也没有用。我有多个登录,即Facebook和谷歌。当我尝试从其中一个注销并切换到另一个时出现问题。我收到以下错误{__ type:“NotAuthorizedException”消息:“登录不匹配。请。至少包含一个此身份或身份池的有效登录信息。”} - kabangi julius
@kabangijulius:你能修复这个例外吗?面对同样的 - BaSha
@BaSha我没有达到我想要的效果,但我意识到当我在注销后重新加载应用程序时它可以工作。所以每次注销后我都会重新加载。 - kabangi julius