1

웹/모바일 앱을 만들기 위해 Azure App 서비스를 테스트하고 있습니다. 저는 모바일 용 xamarin.forms, 모바일 액세스 용 App Services Mobile Services (C# 서버) 및 2 App Services Web Apps를 사용하고 있습니다. 나는에 대한 사용자 ID를 얻으려고Azure App Services - Google 계정 ID가 일치하지 않음

https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-google-authentication/

:

서버 응용 프로그램 모두 웹 애플리케이션은 여기의 지침에 따라 동일한 Google 자격 증명을 사용하여, 구글 인증을 사용하도록 구성되어 Google 사용자에 로그인하고 웹 앱에서 112567911111837839502 (웹 앱 1과 웹 앱 2 모두 일치) 형식의 ID를받습니다.하지만 모바일을 통해 동일한 Google 계정으로 로그인하면 ID 형식의 sid : dc7a23bc80cb2752822351cf5a111111 (모바일 클라이언트 및 모바일 서버 프로젝트 모두)

내가 웹 응용 프로그램에서 사용하고있는 코드와 ID의를 얻을 수있는 모바일 서버 프로젝트는 동일한입니다

var claimsPrincipal = this.User as ClaimsPrincipal; 
     string sid = claimsPrincipal.FindFirst(ClaimTypes.NameIdentifier).Value; 

는 사람이 모바일 및 웹 앱에서 일치하는 ID를 얻을 수있는 방법을 제안 할 수 있습니까? 나는이 마크

푸른 앱 서비스의 주요 아이디어 중 하나가 될

감사

것이라고 생각했다

답변

0

이 링크에서 해답을 발견 섹션 :

https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-backend-how-to-use-server-sdk/#how-to-work-with-authentication

다음 코드는 컨트롤러에서이 다른 사람을 찾고 있습니다

GoogleCredentials cred = await this.User 
      .GetAppServiceIdentityAsync<GoogleCredentials>(this.Request); 
     var googleId = cred.UserClaims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; 

희망을 작동 "어떻게하는 인증 된 사용자 정보를 검색합니다" 이를 위해

1

당신은 /.auth/me 엔드 포인트 (https://yoursite.azurewebsites.net/.auth/me)를 얻을 수 있습니다 -이 당신에게 JSON을 줄 것이다 객체를 Google이 반환하는 주장에 대해 구문 분석 할 수 있습니다. 귀하의 UserId가있을 것입니다.

+0

어떻게 수행 할 수 있습니까? 내가 잘 알고 있는게 아니야. – Mark