1

Je suis en train de tester les services Azure App pour créer une application Web/mobile. J'utilise xamarin.forms pour mobile, Services mobiles App Services (serveur C#) pour l'accès mobile et 2 applications Web App Services.Azure App Services - ID de compte Google ne correspondant pas

L'application serveur et les applications Web ont été configurés pour utiliser Google Auth, en utilisant les mêmes informations d'identification Google selon les instructions ici:

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

J'essaie d'obtenir l'ID utilisateur pour un connecté à Google User, et sur les applications Web, je reçois un ID au format 112567911111837839502 (correspond à la fois pour l'application web 1 et l'application web 2), mais lorsque je me connecte avec le même compte Google via mobile, je reçois un identifiant au format sid. : dc7a23bc80cb2752822351cf5a111111 (à la fois sur le client mobile et le projet de serveur mobile)

Le code que je utilise dans les applications Web et le projet serveur mobile pour obtenir est le même de l'ID:

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

Quelqu'un peut-il suggérer un moyen d'obtenir les identifiants correspondant de Mobile et Web Apps? Je pensais que ce serait l'une des principales idées de Azure services App

Merci

Mark

Répondre

0

a trouvé la réponse à ce lien, la section "Comment: extraire les informations utilisateur authentifié"

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

Le code suivant fonctionne à partir du contrôleur

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

Hope this helps quelqu'un d'autre à la recherche pour cela

1

Vous pouvez obtenir le point final /.auth/me (https://yoursite.azurewebsites.net/.auth/me) - cela vous donnera un objet JSON que vous pouvez analyser pour les réclamations que Google retourne. Votre UserId sera là.

+0

Y a-t-il des exemples de comment faire cela? Ce n'est pas quelque chose que je connais – Mark