2014-12-02 1 views
1

이 프레임 워크에 대한 핸들을 얻으려고하고 있는데 내 접근 방식이 올바른지 확인하고 싶습니다.Cognito에서 기기간에 개발자 인증 된 사용자를 연결하는 방법

나는 getOpenIdTokenForDeveloperIdentity 메소드를 사용하고 IdentityPoolId과 개발자 제공 업체 이름 및 제공하는 토큰을 가진 로그인 키 쌍을 제공하여 사용자를 인증 할 수 있습니다.

이제 사용자가 두 번째 장치에 로그인 할 때 Cognito가 이것이 동일한 사용자임을 이해하기 위해 IdentityId를 제공해야합니다. 그러나 초기 로그인과 일치하도록 IdentityId을 프로그래밍 방식으로 얻는 가장 좋은 방법은 잘 모르겠습니다.

내가 생각할 수있는 유일한 기술은 내 자신의 DB에 IdentityId을 저장하고 검색하는 방법을 제공하는 것입니다. 이것이 최선의 방법입니까? 아니면이 프레임 워크와 다르게 작업해야합니까?

저는 아직 AWS 초보자이며이 프레임 워크의 모범 사례를 이해하려고 노력하고 있습니다.

현재 BT의 백엔드 용 Android SDK 및 PHP SDK를 구현하고 있습니다.

답변

2

getOpenIdTokenForDeveloperIdentity를 사용하면 제공된 사용자 식별자와 연관된 ID ID가 반환됩니다. 따라서 사용하는 사용자 식별자가 사용자의 사용자 이름 인 경우 두 번째 장치에서 동일한 사용자 이름으로 getOpenIdTokenForDeveloperIdentity를 호출하면 연결된 ID 아이디가 반환됩니다. 원하는 경우가 아니면 ID 아이디를 저장할 필요가 없습니다. getOpenIdTokenForDeveloperIdentity를 호출 할 때마다 ID 아이디가 제공됩니다.

이 블로그 게시물 더 도움이 될 수 있습니다 대답에 대한

http://mobile.awsblog.com/post/Tx2FL1QAPDE0UAH/Understanding-Amazon-Cognito-Authentication-Part-2-Developer-Authenticated-Ident

+0

멋지다, 나는 그것이 어떻게 작동하는지 지금 본다. 사용자가 내 인증을 사용하여 앱에 액세스하는 방법에 관계없이 로그인 키 쌍에서 내 USER_IDENTIFIER로 사용하는 모든 것이 일치해야합니다. 나는 이것에 대한 또 다른 질문을해야하지만, 그냥 뭔가를 사용하여 사용자 이름이나 신분증이 충분히 보안, 아니면 내가 직접 해시 또는 뭔가를 생성해야합니까? – ethan123

+0

백엔드 서비스에서 getOpenIdTokenForDeveloperIdentity를 호출하고 개발자 자격 증명으로 요청에 서명해야하므로 사용자 이름을 사용하는 것이 좋습니다. 그러나 사용자 식별자는 해시 할 수 있습니다. – behrooziAWS

+0

대단히 감사합니다. – ethan123

0

Cognito를 사용하면 사용자는 (예 : 페이스 북, Google 또는 기타 Oauth 제공 업체와 같은) ID 제공 업체를 통해 먼저 인증을 받고 사용자가 다시 가져온 토큰은 Cognito로 전송되어 사용자 정보를 연결하는 열쇠가됩니다 다른 기기의 로그인 전반에 걸쳐

사용자 지정 ID 공급자를 작성하고 사용 가능한 공용 ID 공급자 중 하나를 사용하지 않는 한이 정보를 데이터베이스에 저장할 필요가 없습니다.

+0

안녕하세요, 감사합니다. 나는 나만의 맞춤 ID 공급자를 쓰고있다. 그래서 getOpenIdTokenForDeveloperIdentity 메소드를 사용하고 있습니다. 이 경우, 가장 좋은 방법은 IdentityId를 직접 저장하는 것입니다. 그게 전부입니까? – ethan123

관련 문제