Closed spoeck closed 7 years ago
@spoeck Let me know if adding new
works:
Config.credentials = new CognitoIdentityCredentials
The method should be available on CognitoIdentityCredentials
since we load in the AWS JS SDK react native build, but a new instance would need to be created.
https://github.com/aws/aws-sdk-js/blob/master/lib/credentials/cognito_identity_credentials.js#L288
Thanks for your reply.
Adding new
let the warning disapear.
But when try to obtain the credentials with Config.credentials.get((e)=>{});
the Config.credentials
and e
are null
.
@spoeck The credentials.get or credentials.refresh don't return a session. At most they return error, on refresh it will pass in error, so you can check if refresh worked.
The session is in cognitoUser.
Check out the docs here:
https://github.com/aws/amazon-cognito-identity-js/blob/master/README.md
And look at example #17.
I'll close this out for now. There's a lot of documentation over there and also some here:
http://docs.aws.amazon.com/cognito/latest/developerguide/facebook.html
There's also the sync once you've logged in successfully and refresh the app. It's under Memory Storage in the readme.
@spoeck did you manage to make it happen?
@spoeck
I tried your code
Config.credentials.get((e)=>{});
but i got the following:
Error: Missing region in config
at Request.VALIDATE_REGION
I use the same code,, but its throwing the above error:
Config.region = 'us-east-1';
Config.credentials = new CognitoIdentityCredentials({
IdentityPoolId: 'us-east-dsff32r32443242387434sdfsf',
region: 'us-east-1',
Logins: {
'graph.facebook.com': data.accessToken.toString()
}
});
// Obtain AWS credentials
Config.credentials.get(function(e){
// Access AWS resources here.
console.log(e);
});
Did you set the region somewhere in your code?
Actually you are right and the region should be set. Anyway your first line Config.region = 'us-east-1'
is useless. You can try to add following line and try it before and after creating the credentials.
Config.update({region: 'us-east-1'});
In my case I just use some parts of the cognito-js package and the others of the originally aws-sdk-js. Because for a normal facebook login I don't need special cognito-sdk functionality just for signin and singup cognito users. Following is working in my case for facebook login:
AWS.config.update({region: appConfig.region});
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: appConfig.IdentityPoolId,
Logins: {
'graph.facebook.com': data.accessToken
}
});
First of all: Thanks for your great work!
I get a warning if I try to fetch the crendentials via Facebook as identity provider:
The warning:
Did I something wrong? Is it a small issue? Otherwise it is not very important because it works via aws-sdk-react-native