個人用のユーザーアカウントを使用する既存のASP.net Web APIがあります。Azureモバイルサービス.net個別のユーザーアカウントを使用したバックエンド認証
私はそれを使用してパスワードの変更/ログインなどを行います。 私がログインすると、トークンを受け取った後、トークンを使用して[許可]コントローラにアクセスします。
すなわち
[オーソライズ] パブリッククラスValuesController:ApiController
私は私の現在のAPIにAzureのモバイルアプリケーションのためのTODO .NETのバックエンドからコントローラ、のDataObject、Startup.MobileAppとAppNameApiContextを追加しました。
すなわち パブリッククラスTodoController:TableController
これは、などを挿入/同期のために正常に動作しますが、私は、コントローラに[承認]を追加した場合、私は私は同じトークンを送信しても、それは常に不正戻ります他のAPIエンドポイントで使用します。
「Azureモバイルアプリケーションのカスタム認証」を使用して見つけることができるすべてのサンプル は、Microsoft.Azure.Mobile.Server.Authenticationを使用します。見越して
感謝
私は見つけようとしている: と (TableController TodoController):(ApiController ValuesController)私は同じログインを使用するにはどうすればよい
は/トークンは、両方の認証を提供するために
app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions
{
SigningKey = signingKey,
ValidAudiences = new[] { hostName },
ValidIssuers = new[] { hostName },
TokenHandler = new MyClass (config)
});
public class MyClass : AppServiceTokenHandler
{
public override bool TryValidateLoginToken
(string token,
string signingKey,
IEnumerable<string> validAudiences,
IEnumerable<string> validIssuers,
out ClaimsPrincipal claimsPrincipal)
{
if (CheckIfUserIsAuth(token))
{
return true;
}
// Or something like
// if(token== CurrentUserToker)
// { return true};
}
}
しかし、私は偽の真偽を返すかどうかはまだ、私はまだ受けていません。
詳細情報が必要です。 (1)EasyAuthはどのようにセットアップされていますか? (2)使用しているMicrosoft.Azure.Mobile.Clientのバージョンは何ですか? (3)どうやってログインしていますか? (4)他のOWin認証パイプラインコードがありますか? –
こんにちは、 私はASP.NET 4.6 Web APIテンプレートを使用しています。認証には "個人ユーザーアカウント"があります。 私はこれを使って、アプリから標準のApi呼び出しを行います。 現在、私は電子メールアドレスとパスワードでhttp://myapi.com/tokenに電話をかけています。それはトークンを返し、トークンを保存し、トークンを使用して[Authorize]コントローラにアクセスします。 同じトークンを使用して、[Authorize] TodoController:TableControllerにアクセスします。 Microsoft.Azure.Mobile.Clientのバージョンは3.0.3です。 TODO Xamarin.Androidが付属しています。 – ryan