2015-01-18 2 views
1

을 선택 openid_id을 사용할 수 없습니다마이그레이션 오픈 ID 2.0에서 오픈 ID 연결하려면 다음에서 appengine 사용자 AppEngine에/자바를 사용

내가 마이그레이션이 오픈 ID 연결 (로그인에 대한 OAuth를 2.0)에 2.0 오픈 아이디하고, 루게릭 병은 여기에서 설명 : https://developers.google.com/accounts/docs/OpenID?hl=ja

3 단계 : OpenID 2.0 식별자를 (새) OpenID Connect 식별자에 매핑합니다.

'사용자 데이터베이스에서 openid_id를 새 하위 ID에 연결하십시오.'라고 말합니다. 문제는 내 기존 사용자 테이블에서와 같이 openid_id로 기존 사용자를 선택할 수 없다는 것입니다. com.google.appengine.api.users.User.getUserId()를 값으로 사용하여 사용자를 식별합니다.

I AppEngine에 사용자를 선택합니다 openid_id을 사용하는 방법에 대해 어떤 생각 (나는 또한 전체 com.google.appengine.api.users.User 개체를 유지했다)?

+0

추가 질문 : getUserId()에 의해 반환 된 사용자 ID가 이전 플로우에서 반환 된 idtoken의 하위 필드와 일치합니까? (http://openid.net/specs/openid-connect-core-1_0.html#IDToken 참조). 아마도 그렇지 않습니다. 그렇지 않으면 openid_id 대신 userids를 기반으로 3 단계에서 매핑을 수행 할 수 있습니다. –

+0

실제로 하위는 getUserId()와 다릅니다. 나는 이것을 시험했다. – peternees

답변

0

com.google.appengine.api.users.User.getFederatedIdentity()는 openid_id (https://www.google.com/accounts/o8/id?id=xxxxxxxxxxxxxx)를 반환합니다. 사용자를 식별하기 위해 선택할 수 없기 때문에 향후 DB를 채우기 위해 다음 달을 사용할 것이므로 적절한 사용자를 선택하기 위해 사용할 수 있습니다.