2010-05-02 7 views

답변

1

이렇게하는 가장 좋은 방법은 OpenID를 oAuth 확장 (일명 하이브리드)과 함께 사용하는 것입니다.

+0

이 아닌 경우 oauth with openid 신장? 그리고 isns't openid connect는 아직 최종 단계가 아니며 아무도 그것을 지원하지 않습니까? – Dannyboy

-1

해당 access_token 및 access_token_secret와 함께 사이트의 사용자에 대한 user_id를 저장해야합니다.

그런 다음 해당 테이블을 조회 할 수 있습니다 (또는 해당 정보를 저장할 곳)을 USER_ID와 적절한 토큰을 얻을

감사

+2

나는 그것이 어떻게 도움이되는지 잘 모르겠습니다. 문제는 사용자가 로그인 할 때마다 동일한 토큰/token_secret가 제공된다는 것입니다. 따라서 어떤 이유로 사용자가 두 번째로 계정을 연결하면 내 스크립트에서 해당 스크립트가 중복되었음을 알 수 없으며 추가 할 수 있습니다. 나는 그것을 막을 방법이 필요할 것이다. – yydl

+0

사용자가 이미 토큰을 가지고 있는지 확인하십시오 (OAuth 워크 플로우를 수행하지 않는 경우). –

+0

사용자가 하나의 계정 만 추가 할 수있는 경우에만 도움이됩니다. 그러나 많은 앱에서 사용자는 여러 계정을 인증 할 수 있습니다. – yydl

2
Google은 사용자 이름 또는 사용자 ID와 같은 다른 독특한 PARAMS을 제공하지 않습니다

?

예를 들어 트위터와 페이스 북은 사용자 이름과 사용자의 프로필 사진을 식별하는 고유 한 URL을 제공합니다. 해당 매개 변수를 서버 측에 저장하면 다음에 그가 사이트에 올 때 사용자를 식별 할 수 있습니다.

+0

그게 정확히 문제입니다. 내가 볼 수있는 한 그들은하지 않습니다. 그들이 리턴하는 것은 토큰 및 token_secret입니다. – yydl

+1

그래, 나는 당신이 그 토큰과 함께 google에 쿼리하는 사용자의 params를 얻을 수 있는지 확인해야하고 DB에 저장해야하는지 생각해야한다. –

+0

글쎄, 예를 들어 Gmail 피드를 구문 분석하여 이메일 주소를 알 수있었습니다. 하지만 : a) 이상적입니다 (추가 요청으로 인해 대기 시간이 발생 함). b) 사용자가 이메일 주소를 변경할 수 있기 때문에 영구적 인 고유하지 않습니다. – yydl

0

현재 OAuth를 독점적으로 사용하고 있으며 http://sites.google.com/site/oauthgoog/Home/emaildisplayscope에 설명 된대로 https://www.googleapis.com/auth/userinfo#email 범위에 인증 된 사용자의 이메일 주소를 요청하고 있습니다. 전자 메일 주소를 사용하여 사용자를 고유하게 식별합니다. 이것은 지금 충분히 좋을 것입니다.

편집 :

최근 구글 개발자 코멘트 (https://groups.google.com/group/oauth2-dev/browse_thread/thread/cf5c137f872f9932)에 따르면, 그들은 현재 작업중인 이 문제는,하지만 준비가되어있는 제품이라면 OpenID 인증을 사용해야합니다.

관련 문제