1

私はAzure AppサービスをテストしてWeb /モバイルアプリを作成しています。私はモバイル用の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/

サーバーアプリとの両方のWebアプリケーションは、ここで説明書に従って同じGoogleの資格情報を使用して、Googleの認証を使用するように設定されていますGoogleユーザーにログインし、ウェブアプリではID 112567911111837839502(ウェブアプリ1とウェブアプリ2の両方に一致)を取得しますが、モバイル経由で同じGoogleアカウントでログインすると、IDの形式はsid :dc7a23bc80cb2752822351cf5a111111(モバイルクライアントとモバイルサーバープロジェクトの両方)

私は、Webアプリケーションで使用しているコードとIDのを取得するために、モバイルサーバープロジェクトは同じです:

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

は、誰もが携帯電話とWebアプリから一致するIDを取得する方法を提案することはできますか?私は、これはあなたが/.auth/meエンドポイント(https://yoursite.azurewebsites.net/.auth/me)を取得することができAzureのアプリケーションサービスの主なアイデア

おかげ

マーク

答えて

0

このために

1

の一つだろうと思っていた - これはあなたのJSONオブジェクトを提供しますGoogleが戻ってくるという主張を解析することができます。あなたのUserIdがそこにあります。

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; 

・ホープから働き、これは誰が見て助け:このリンクでの答えは、「認証されたユーザ情報を取得する方法を」発見

+0

これを行う方法の例はありますか?私がよく知っていることではない – Mark

関連する問題