2017-04-12 2 views
0

AWS Cognito SDK를 사용하여 Cognito 사용자를 설정하려고하는데 사용자에게 사용자 정의 속성을 추가하는 데 문제가 있습니다. 변수 이름이 정확히 일치하고 응용 프로그램이 모든 특성에 대한 읽기/쓰기를 허용하는지 확인했습니다. 내 코드는 다음과 같습니다AWS Cognito 사용자 정의 특성이 작성되지 않았습니다.

이 코드
var attributeList = []; 

var dataName = { 
    Name: 'name', 
    Value: name 
}; 
var dataPhoneNumber = { 
    Name: 'phone_number', 
    Value: phone 
}; 
var dataIsDriver = { 
    Name: 'custom:is_driver', 
    Value: 0 
}; 

var attributeName = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataName); 
var attributePhoneNumber = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataPhoneNumber); 
var attributeIsDriver = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataIsDriver); 


attributeList.push(attributeName); 
attributeList.push(attributePhoneNumber); 
attributeList.push(attributeIsDriver); 

var username = generateUUID(); 
localStorage.setItem("username", username); 

var userPool = getUserPool(); 
userPool.signUp(username, password, attributeList, null, function (err, result) { 
    if (err) { 
     alert(err); 
     return; 
    } 
} 

, 이름과 PHONE_NUMBER 속성이 올바르게 설정되고 있지만이 없다 "is_driver는." adminGetUser를 사용하여 사용자의 모든 속성을 얻으려고했지만 is_driver가 표시되지 않습니다. 모든 지침을 부탁드립니다!

+0

cognito 사용자 풀에서 애플리케이션 페이지를 확인하십시오. 당신은 읽기/쓰기 권한이 주어 졌다고 언급했지만 나중에 어떤 속성을 추가하면 권한이 자동으로 적용되지 않는 경우도 있습니다. 나는 비슷한 문제에 직면했다. 사용자 풀로 이동 한 다음 앱> 세부 정보 표시> 속성 읽기 및 쓰기 권한 설정을 선택합니다. 범위를 검사하고 거기에 대한 쓰기 권한을 읽으십시오. – skarfa

+0

확인란이 이미 선택되었는지 확인했습니다 : http://imgur.com/a/EvWqT. 또한 사용자 정의 속성이 사용자 화면에 표시되지 않습니다 (http://imgur.com/a/O3fqj). 어떤 아이디어? –

답변

1

속성 값을 숫자 0으로 전달하기 때문에 상황이 발생할 수 있다고 생각합니다. 속성이 유효성 검사를 위해 String으로 처리된다는 것은 서비스의 특수성입니다.

아래 코드로 바꾸고 작동하는지 확인할 수 있습니까?

var dataIsDriver = { 
    Name: 'custom:is_driver', 
    Value: '0' 
};