[AWS Cognito] A client attempted to write unauthorized attribute 에러 해결방법

남양주개발자

·

2020. 3. 12. 18:23

728x90
반응형

Cognito Custom Attribute를 추가하는 과정에서 A client attempted to write unauthorized attribute 에러가 발생

 

attributes 목록을 구성해서 cognitoUser의 updateAttributes 메서드를 활용해서 속성을 업데이트를 하려고 했으나 실패

attributes = [
  {
    Name: 'name',
    Value: '박경두'
  },
  {
    Name: 'first_ename',
    Value: 'KYUNGDOO'
  },
  {
    Name: 'last_ename',
    Value: 'PARK'
  },
  {
    Name: 'phone',
    Value: '01047595398'
  },
  {
    Name: 'gender',
    Value: 'm'
  }
]
const list = attributes.map((attribute) =>
  new CognitoUserAttribute(attribute)
)
const { cognitoUser } = await cognito.getCurrentUser()

cognitoUser.updateAttributes(list, (err, res) => {
  if (err) {
    alert(err.message || JSON.stringify(err))
    return
  }
  console.log('call result: ' + res)
})

 

해결방법

1. 속성목록의 네이밍에 custom 값이 누락됨

    attributes = [
      {
        Name: 'custom:name',
        Value: '박경두'
      },
      {
        Name: 'custom:first_ename',
        Value: 'KYUNGDOO'
      },
      {
        Name: 'custom:last_ename',
        Value: 'PARK'
      },
      {
        Name: 'custom:phone',
        Value: '01047595398'
      },
      {
        Name: 'gender',
        Value: 'm'
      }
    ]

2. General settings/App clients/Show Details에서 속성 권한 설정

Readable Attributes와 Writable Attributes에 custom attribute로 설정한 값들을 체크해준다.

728x90
반응형
그리드형

이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

💖 저자에게 암호화폐로 후원하기 💖

아이콘을 클릭하면 지갑 주소가자동으로 복사됩니다