0

これが私がやりたいことです。

SQL サーバー データベース (Windows Azure) のテーブルを管理するために使用できる MVC Web アプリケーションが必要です。サードパーティのログイン (google、twitter、facebook など) で認証したい。

これらのテーブルにアクセスして変更するために Windows azure モバイル サービスを利用するモバイル アプリケーションが必要です。モバイル アプリは、上記と同じプロバイダーでログインします。

問題: MVC アプリケーションでログインすると、ユーザー名と電子メール アドレスにアクセスできます。

モバイル アプリケーションでログインすると、userId ="google":{ "userId":"Google:my-actual-user-id", "accessToken":"the-actual-access-token" } にアクセスできます。メールアドレスやユーザー名ではなく、モバイルサービス側で。

テーブルからデータを取得するサーバー サイド スクリプト (Azure モバイル サービス) を作成する場合、一意のユーザー識別子として何を使用すればよいでしょうか?? MVC アプリケーションは、モバイル アプリケーションがログイン時に取得するユーザー ID にアクセスできません。また、モバイル アプリケーションは、MVC ログイン (OAuthWebSecurity) を介して利用可能なユーザー名または電子メール アドレスにアクセスできません。

このリンクを見つけました: http://blogs.msdn.com/b/carlosfigueira/archive/2012/10/25/getting-user-information-on-azure-mobile-services.aspx

しかし、これを使用してGoogleメールを取得することさえできないようです…。したがって、ユーザーを一意に識別する方法はまだありません!!

助けてくれてありがとう

4

1 に答える 1

0

上記の問題を回避する方法については、実際には答えていません。MVC アプリケーションで同じタイプの認証を使用すれば、これを回避できると思いますが、Google アカウントのメール アドレスを取得する方法を見つける必要がありました。次に、他の問題を引き起こす他の認証プロバイダーを処理する方法を検討する必要がありました。Windows azure モバイル サービスに関する他の問題が見つかりました。

  • モバイル サービスを使用して別のデータベース名前空間からデータにアクセスする方法ではないようです
  • エンティティ フレームワークなどを使用して、ユニット テストした MVC アプリケーションに既にあるモバイル サービスのビジネス ロジックを書き直していました。

モバイル サービスの例に従えば単純明快に思えますが、いったんその道を外れると、非常に問題が生じ、私の見解ではそれだけの価値はありません。意味のあることをするのに十分なほど柔軟ではありません....しかし、それは私が正しく使用していない可能性があります。

そのため、MVC アプリケーション内で Web API を使用しています。Windows アプリで httpclient を使用して、このデータにアクセスします。これにより、ビジネス ロジックを再利用できるようになり、はるかに柔軟になります。Windows azure モバイル サービス (チョコレート ティー ポット) の評価が不当だと思われる場合は、反対意見をぜひお聞かせください。

于 2013-08-22T09:13:36.957 に答える