현재 Google oAuth를 사용하여 웹 앱을 만들고 있습니다. 실수로 중복을 추가하지 않도록 인증 된 사용자를 어떻게 고유하게 식별 할 수 있는지 궁금합니다.oAuth에서 누군가를 고유하게 식별하는 방법
답변
이렇게하는 가장 좋은 방법은 OpenID를 oAuth 확장 (일명 하이브리드)과 함께 사용하는 것입니다.
해당 access_token 및 access_token_secret와 함께 사이트의 사용자에 대한 user_id를 저장해야합니다.
그런 다음 해당 테이블을 조회 할 수 있습니다 (또는 해당 정보를 저장할 곳)을 USER_ID와 적절한 토큰을 얻을
감사
나는 그것이 어떻게 도움이되는지 잘 모르겠습니다. 문제는 사용자가 로그인 할 때마다 동일한 토큰/token_secret가 제공된다는 것입니다. 따라서 어떤 이유로 사용자가 두 번째로 계정을 연결하면 내 스크립트에서 해당 스크립트가 중복되었음을 알 수 없으며 추가 할 수 있습니다. 나는 그것을 막을 방법이 필요할 것이다. – yydl
사용자가 이미 토큰을 가지고 있는지 확인하십시오 (OAuth 워크 플로우를 수행하지 않는 경우). –
사용자가 하나의 계정 만 추가 할 수있는 경우에만 도움이됩니다. 그러나 많은 앱에서 사용자는 여러 계정을 인증 할 수 있습니다. – yydl
?
예를 들어 트위터와 페이스 북은 사용자 이름과 사용자의 프로필 사진을 식별하는 고유 한 URL을 제공합니다. 해당 매개 변수를 서버 측에 저장하면 다음에 그가 사이트에 올 때 사용자를 식별 할 수 있습니다.
그게 정확히 문제입니다. 내가 볼 수있는 한 그들은하지 않습니다. 그들이 리턴하는 것은 토큰 및 token_secret입니다. – yydl
그래, 나는 당신이 그 토큰과 함께 google에 쿼리하는 사용자의 params를 얻을 수 있는지 확인해야하고 DB에 저장해야하는지 생각해야한다. –
글쎄, 예를 들어 Gmail 피드를 구문 분석하여 이메일 주소를 알 수있었습니다. 하지만 : a) 이상적입니다 (추가 요청으로 인해 대기 시간이 발생 함). b) 사용자가 이메일 주소를 변경할 수 있기 때문에 영구적 인 고유하지 않습니다. – yydl
현재 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 인증을 사용해야합니다.
- 1. 네트워크를 고유하게 식별하는 방법은 무엇입니까?
- 2. Entity Framework에서 엔티티를 고유하게 식별하는 방법은 무엇입니까?
- 3. 고유하게 Windows 양식을 식별하는 방법은 무엇입니까?
- 4. 아이폰 앱의 사용자를 고유하게 식별하는 가장 쉬운 방법
- 5. 대형 웹 사이트, 많은 사용자, 사용자를 고유하게 식별하는 방법
- 6. Pharo/Squeak에서 스크립트 창을 고유하게 식별하는 방법은 무엇입니까?
- 7. API에 요청하는 데스크톱 응용 프로그램을 고유하게 식별하는 방법은 무엇입니까?
- 8. IMAP 메시지를 복사 한 후 고유하게 식별하는 방법은 무엇입니까?
- 9. 함수에 대한 모든 호출을 고유하게 식별하는 방법은 무엇입니까?
- 10. ID가 표시되지 않고 레코드를 고유하게 식별하는 방법은 무엇입니까?
- 11. git 기반 CMS에서 git 저장소에서 파일을 고유하게 식별하는 방법은 무엇입니까?
- 12. D에서 사용자 정의 유형을 고유하게 식별하는 방법은 무엇입니까?
- 13. OAuth에서 401 오류가 발생합니다
- 14. Google App Engine : JVM 인스턴스/측정 병렬 처리를 고유하게 식별하는 방법?
- 15. 누군가를 대신하여 전복에 전념
- 16. 누군가를 특정 도메인에 잠그기
- 17. EXE가 WPF인지 식별하는 방법
- 18. Eclipse가 키워드를 식별하는 방법
- 19. 익명 함수를 식별하는 방법
- 20. http 리디렉션을 식별하는 방법
- 21. EKEvent에서 EKAlarm을 식별하는 방법
- 22. .NET/Mono를 사용하여 컴퓨터를 고유하게 식별합니까?
- 23. OAuth에서 둘 이상의 공급자 사용
- 24. oauth에서 토큰 요청 및 액세스
- 25. JDO에서 자식 개체를 고유하게 식별하고 가져 오는 방법
- 26. 개체를 식별하는 SHA1 해시 길이?
- 27. datetime2 열 삽입을 고유하게 유지하는 방법
- 28. 제스처를 인식하고 식별하는 간단한 방법
- 29. 문자를 식별하는 방법 (집합 기반)?
- 30. System.Reflection에서 익명 메서드를 식별하는 방법
이 아닌 경우 oauth with openid 신장? 그리고 isns't openid connect는 아직 최종 단계가 아니며 아무도 그것을 지원하지 않습니까? – Dannyboy