【问题标题】:Uncaught ReferenceError: AWSCognito Is Not Defined未捕获的 ReferenceError:未定义 AWSCognito
【发布时间】:2020-12-02 11:51:35
【问题描述】:

我正在尝试使用浏览器脚本方法连接 AWS Cognito。 使用来自 AWS 博客 https://aws.amazon.com/blogs/mobile/accessing-your-user-pools-using-the-amazon-cognito-identity-sdk-for-javascript/ 的以下代码获取 Uncaught ReferenceError: AWSCognito is not defined。附加错误的片段。

**

<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <!-- Javascript SDK-->
 
  <script src="https://sdk.amazonaws.com/js/aws-sdk-2.410.0.min.js"></script> 

 
  </head>

    
  <body>

    <h1 class="h3 mb-3 font-weight-normal" id="titleheader">Register an Account</h1>
    
    <input type="personalname" class="form-control" id="personalnameRegister" placeholder="Name" pattern=".*" required>
    <input type="email" class="form-control" id="emailInputRegister" placeholder="Email" pattern=".*" required>
    <input type="password" class="form-control" id="passwordInputRegister" placeholder="Password" pattern=".*" required>
    <!-- <input type="password" class="form-control" id="confirmationpassword" placeholder="Confirm Password" pattern=".*" required> -->
    <button id="mainbutton" class="btn btn-lg btn-primary btn-block" type="button" onclick="registerButton()" >Register</button>

<script type="text/javascript">
// Amazon Cognito creates a session which includes the id, access, and refresh tokens of an authenticated user.
function registerButton() {

username = document.getElementById("emailInputRegister").value;
password =  document.getElementById("passwordInputRegister").value; 

var authenticationData = {
        Username : username,
<!--         Password : password, -->
    };
 var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
    var poolData = { UserPoolId :<POOLID>,
        ClientId :<clientId>
    };
    var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
    <!-- var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData); -->
    Console.log(userPool)
    var userData = {
        Username : document.getElementById("emailInputRegister").value,
        Pool : userPool
    };
    
     var cognitoUser = new AWSCognito.AmazonCognitoIdentity.CognitoUser(userData);
    cognitoUser.authenticateUser(authenticationDetails, {
        onSuccess: function (result) {
            var accessToken = result.getAccessToken().getJwtToken();

            /* Use the idToken for Logins Map when Federating User Pools with identity pools or when passing through an Authorization Header to an API Gateway Authorizer */
            var idToken = result.idToken.jwtToken;
        },

        onFailure: function(err) {
            alert(err);
        },

}); 
}   
</script> 
</body> 
</html>

**

【问题讨论】:

    标签: javascript html amazon-web-services amazon-cognito


    【解决方案1】:

    您需要在 head 元素中包含 amazon-cognito js 文件。您可以检查当前控制台以查看 AWSCognito 当前未定义。

    <script src="https://rawgit.com/aws/amazon-cognito-identity-js/master/dist/aws-cognito-sdk.min.js"></script>
    <script src="https://rawgit.com/aws/amazon-cognito-identity-js/master/dist/amazon-cognito-identity.min.js"></script>
    

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 2016-11-03
      • 2011-01-05
      • 2016-01-02
      • 2013-10-06
      • 2016-12-17
      • 1970-01-01
      相关资源
      最近更新 更多