如何解决为Govcloud放大吗?
AWS是否提供针对Cognito的身份验证,该身份验证与react和not Amplify的政府云兼容。我正在使用Govcloud,但我所在的区域未处于放大状态(amplify不支持govcloud)。如何通过govcloud使用OIDC和Cognito进行身份验证而不进行放大?
解决方法
我将需要有关您的OpenID Connect用例的更多详细信息,但是就在Gov Cloud区域中通过Cognito进行身份验证而言,请使用以下库:https://www.npmjs.com/package/amazon-cognito-identity-js。它实际上位于Amplify JS存储库中,并且正在积极维护。
这是使用用户名和密码登录的基本示例。
const userPool = new AmazonCognitoIdentity.CognitoUserPool({
UserPoolId: '...',// your user pool id here
ClientId: '...' // your client id here
})
function login(username,password) {
const authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails({
Username: username,Password: password,})
const cognitoUser = new AmazonCognitoIdentity.CognitoUser({
Username: username,Pool: userPool,});
cognitoUser.authenticateUser(authenticationDetails,{
onSuccess: function(result) {
const idToken = result.getIdToken().getJwtToken();
console.log(idToken);
},onFailure: function(err) {
console.log(err);
},});
}
还请注意,在将应用程序客户端添加到用户池时,在创建Web应用程序时必须取消选中Generate client secret
选项;仅适用于JavaScript的Amazon Cognito Identity SDK不支持具有客户端密钥的应用程序,因为该客户端密钥可以在您的代码中轻松查看。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。