1

Я тестирую службы Azure App для создания веб-приложения. Я использую xamarin.forms для мобильных устройств, мобильных сервисов приложений (сервер C#) для мобильного доступа и 2 приложения для веб-приложений.Azure App Services - идентификатор аккаунта Google не соответствует

приложение-сервер и оба веб-приложения, которые были настроены на использование Google Auth, используя те же учетные данные Google в соответствии с инструкциями здесь:

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

Я пытаюсь получить идентификатор пользователя для вошел в Google Пользователь, а в веб-приложениях я получаю ID в формате 112567911111837839502 (подходит как для веб-приложения 1, так и для веб-приложения 2), но когда я вхожу в систему с той же учетной записью Google через мобильный телефон, я получаю идентификатор в формате sid : dc7a23bc80cb2752822351cf5a111111 (как на мобильном клиенте, так и на проекте мобильного сервера)

Код я использую в веб-приложениях и проект мобильного сервера, чтобы получить идентификаторы и тот же:

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

Может кто-нибудь предложить способ, чтобы получить соответствующие идентификаторы Мобайл и веб-приложения? Я думал, что это будет одна из основных идей Azure App Услуги

Благодаря

Марк

ответ

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