Я пытаюсь использовать собственный домен для аутентификации Cognito, мы не хотим использовать конечную точку Amazon по умолчанию cognito-idp.us-east-1.amazonaws.com
, поскольку наши клиенты не считают ее заслуживающей доверия. Я попытался выполнить do c на https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html, но это не сработало. мой nodeJS код:
var poolData = {
UserPoolId: url.searchParams.get("user_pool_id"), // Your user pool id here
ClientId: url.searchParams.get("client_id") // Your client id here
};
var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var userData = {
Username: url.searchParams.get("user_name"), //'sched',
Pool: userPool
};
var s3;
userData.Pool.client.endpoint="https://custom_domain_name.com/"
var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
cognitoUser.setAuthenticationFlowType('CUSTOM_AUTH');
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
var accessToken = result.getAccessToken().getJwtToken();
var idtoken = result.getIdToken().getJwtToken();
//refreshToken Handling
AWS.config.region = bucketRegion;
var loginEndPoint = 'custom_domain_name.com/'+ url.searchParams.get("user_pool_id");
var logins={};
logins[loginEndPoint]=idtoken;
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: IdentityPoolId, // your identity pool id here
Logins: logins
});
AWS.config.credentials.get(function (err) {
if (err) {
console.log(err);
} else {
}
});
},
onFailure: function (err) {
console.log('ops! something went wrong');
console.log(err.message || JSON.stringify(err));
}
});
но я продолжаю получать сообщение об ошибке на терминале:
Access to fetch at 'custom_domain_name.com' from origin has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
Может кто-нибудь помочь мне понять, что именно будет решением для этого, или указать на root причина?
Настройки UserPool в s3 cognito