我想设置一个可以从AWS Amplify访问的服务,该服务充当AWS Cognito的代理服务。关键是,这样的服务将提供更大的灵活性,同时可以选择将Cognito换成另一个身份提供商(比如Okta(。
考虑到这一点,是否可以将AWS Amplify配置为使用与Cognito/Auth默认使用的不同的端点(即,当前硬编码为https://Cognito ipd.<region>.amazonaws.com(
如果没有,你能想出一个变通办法吗?
注意:文档中似乎没有任何明显的内容(https://docs.amplify.aws/lib/client-configuration/configuring-amplify-categories/q/platform/js/#top-水平配置(
看起来AWS鼓励在适用的情况下在Cognito前面使用代理。
https://aws.amazon.com/blogs/security/protect-public-clients-for-amazon-cognito-by-using-an-amazon-cloudfront-proxy/
如果您使用的是AWS Amplify,您可以通过重写属性AWS_cognito_endpoint来更改AWS-exports.js文件中的端点。或者,如果您在代码中配置Amplify Auth,您可以提供如下端点。
Amplify.Auth.configure({
userPoolId: '<USER-POOL-ID>',
userPoolWebClientId: '<APP-CLIENT-ID>',
endpoint: 'https://<CF-DISTRIBUTION-DOMAIN>'
});