2016-09-13 3 views
0

사용자가 Google, Facebook 또는 자체 서버를 사용하여 등록하고 로그인 할 수있는 게임과 같은 모바일 응용 프로그램이 있습니다. 타사 공급자를 사용하여 로그인 한 후 게임 진행과 같은 사용자 정보를 서버에 저장할 수있는 것처럼 보이므로 타사 계정을 사용자 프로필 데이터베이스에 연결할 수 있습니다. 사람들은 일반적으로 어떻게 이것을합니까?여러 신원 제공 업체 로그인 OAuth/Open ID

Identity Server를 주요 ID 제공 업체로 사용하고 있습니다. ASP.NET ID를 사용하여 사용자를 관리합니다. 리소스 소유자 권한 부여를 사용하여 Identity Server에서 인증 토큰을 얻는 안드로이드 응용 프로그램이 있습니다. 새로운 사용자는 신원 서버가 호스팅되는 사이트로 이동하여 새 계정을 등록 할 수 있습니다.

이제 Android 애플리케이션 내에서 Google 또는 Facebook을 통해 로그인 버튼을 추가하고 싶습니다. 사용자가 Google이나 Facebook을 통해 로그인하면 사용자 정보가 검색되어야하고 Android 앱 내의 등록 양식이 표시되며 타사 공급자의 사용자 정보를 기반으로 필드가 자동으로 채워집니다. 그런 다음 세부 정보를 사용하여 등록하고 사용자를 Google 또는 Facebook 계정 인 식별자로 Identity Server에 저장합니다. asp.net 신원 사이트와 마찬가지로 모바일 용입니다.

답변

0

Facebook, Google과 같은 타사 ID 서버를 사용하여 로그인 할 수있는 버튼이 있다고 생각합니다. 내가 궁금해하는 유일한 것은 그 사용자 이름과 암호를 사용하여 등록하도록 할 수 있는지 확신 할 수 없다는 것입니다. 당신이 생각할 수

흐름은 다음과 같습니다

  • 는 사용자에게 등을 페이스 북, 구글로 로그인 옵션 제공
  • 사용자가 그 타사 서비스의 로그인 페이지로 리디렉션됩니다 .
  • 로그인하면 페이스 북에서 사용자에 대한 클레임이있는 토큰을 받게되며 클레임 변환을 수행하고 사용자에게 토큰을 할당 할 수 있습니다.
  • 동일한 토큰을 사용하여 사용자와 관련된 데이터베이스에 저장된 데이터를 가질 수 있습니다.
  • 데이터베이스에는 2 개의 토큰이 있습니다. 하나는 Facebook에서, 다른 하나는 자신의 응용 프로그램에 사용할 토큰입니다.
  • 유일한 옵션은 Facebook을 사용하여 로그인하는 것입니다. 그러나 Identity 서버가 제공하는 정보를 유지 관리하면 사용자를 직접 백엔드에 등록 할 수 있으므로 사용자가 직접 등록 할 필요가 없습니다.
1

리소스 소유자 권한 부여는 여기에서 막 다른 곳입니다. 브라우저를 사용하여 로그온 워크 플로로 전환해야합니다. 이렇게하면 "무료"외부 로그인을 얻을 수 있습니다.

https://vimeo.com/171942749

이것은 또한 보안상의 이유로 권장 - 나는 프리젠 테이션에서 링크 사양을 참조하십시오.

+0

신뢰할 수있는 응용 프로그램을 사용하고 있으며 자신의 개인화 된 로그인 기본 UI로 응용 프로그램을 에뮬레이션하고 싶습니다. 웹보기는 나의 최후의 수단이 될 것입니다. –