2017-02-17 118 views
3

我使用AWS CognitoAWS-CPP-SDK我的應用程序。我定義了一個用戶池和一個應用程序,然後我得到了應用程序客戶端ID和應用程序密碼 我可以創建用戶池對象:AWS Cognito NotAuthorizedException客戶端嘗試寫未經授權的屬性

Aws::Client::ClientConfiguration clientConfig; 
    clientConfig.region = 
     Aws::Region::EU_CENTRAL_1; // "RegionEndpoint.EUCentral1"; 
    clientConfig.scheme = Aws::Http::Scheme::HTTPS; 
    clientConfig.connectTimeoutMs = 30000; 
    clientConfig.requestTimeoutMs = 600000; 

    CognitoIdentityProviderClient client; 
    client = CognitoIdentityProviderClient(clientConfig); 

    DescribeUserPoolClientRequest describeUserPoolClientRequest; 
    describeUserPoolClientRequest.WithUserPoolId(POOL_ID) 
     .WithClientId(TEST_APP_CLIENT_ID); 
    DescribeUserPoolClientOutcome describeUserPoolClientOutcome = 
     client.DescribeUserPoolClient(describeUserPoolClientRequest); 

我定義後與SignUpRequest的用戶,出現了這樣的錯誤:NotAuthorizedException客戶端嘗試寫未經授權的屬性

這是我註冊代碼:

SignUpRequest signUpRequest; 
    signUpRequest.SetClientId(describeUserPoolClientOutcome.GetResult() 
            .GetUserPoolClient() 
            .GetClientId()); 
    signUpRequest.SetUsername("xxxxx"); 
    signUpRequest.SetPassword("xxxxxx?"); 
    AttributeType email, phone_number, gender, given_name, family_name, picture; 
    email.WithName("email").WithValue("[email protected]"); 
    phone_number.WithName("phone_number").WithValue("+xxxxx"); 
    given_name.WithName("given_name").WithValue("xxx"); 
    family_name.WithName("familiy_name").WithValue("xxx"); 
    gender.WithName("gender").WithValue("MALE"); 
    picture.WithName("picture").WithValue(
     "http://xxxx"); 
    signUpRequest.AddUserAttributes(email); 
    signUpRequest.AddUserAttributes(phone_number); 
    signUpRequest.AddUserAttributes(given_name); 
    signUpRequest.AddUserAttributes(family_name); 
    signUpRequest.AddUserAttributes(gender); 
    signUpRequest.AddUserAttributes(picture); 

    SignUpOutcome signUpOutcome = client.SignUp(signUpRequest); 

問題是什麼?我該如何解決它?

回答

0

OMG!異常的原因只是寫錯了。這個問題可以通過在這條線上糾正從家族到家族的打字錯誤來解決:

family_name.WithName("familiy_name").WithValue("xxx"); 
5

在AWS網站去你的用戶羣 - >應用程序 - >顯示詳細信息 - >設置屬性讀寫權限。確保你在可寫屬性列表中寫入的每個屬性都是我的,並且它們有一個複選標記。

+0

謝謝你的回覆。我應用了它,但問題仍然存在。 – gkhanacer

相關問題