0

장고 패키지 django_openid_auth과이 snippet of code을 사용하여 장고에서 OpenID를 통해 사용자를 인증합니다.장고에서 OpenID 인증을 통해 Google 주소록을 얻으십시오

완벽하게 작동합니다. 사용자는 Google 계정 페이지로 리디렉션되어 권한을 얻은 다음 다시 리디렉션됩니다.

그러나이 서버 만 사용자의 이메일/주먹 이름/성을 얻을 수 있습니다. 사용자의 연락처 목록 또는 생년월일이나 아바타 같은 합리적인 정보를 얻고 싶다면 어떻게 작동합니까?

나는 OpenID AX 확장을 통해 전자 메일/이름을 얻고 있기 때문에 Ext2 확장을 사용하여 OAuth 정보를 얻을 수 있다고 가정합니다.

Google Contacts API에 OAuth 인증이 필요하다는 것을 알고 있습니다. OpenID로 로그인 했으므로이 OAuth 인증이 포함 되었습니까, 아니면 별도의 새로운 프로세스에서해야합니까? 간단히 말해,이 OpenID 인증은 연락처/계정 정보를 얻기위한 인증 프로세스를 포함합니까? 아니면 별도의 프로세스를 인증하고 사용해야합니까?

사용 된 OpenID 메커니즘의 내부 메커니즘은 django_openid_auth 모듈에 있습니다.

누군가 올바른 방향으로 나를 가리킬 수 있습니까? 고맙습니다.

답변

1

OpenID2와 OAuth 1의 하이브리드 대신 OAuth2를 사용하는 것이 좋습니다. 후자와 함께 할 수도 있지만 OAuth2를 사용하는 것이 훨씬 쉽습니다. Django의 OAuth2 라이브러리가 아니라 Google에서 만든 Python OAuth2 라이브러리가 '최첨단'입니다. 심지어이 라이브러리는 당신이뿐만 아니라 관심있는 userinfo.profile 범위로, 연락처 범위를 요청하게됩니다

https://developers.google.com/api-client-library/python/guide/aaa_oauth

장고와 함께 사용하는 방법에 대한 정보를 가지고있다.

희망이 도움이 .

davep