Web Apiでログインと登録にIn-Buildテンプレートを使用しています。web apiで基本認証でログイン
トークンベースの認証を使用します。
しかし、私がしたいことは、私は、Web APIは、今私はAPIメソッドを呼び出すためにするためにそれを使用したい、トークンを返します後、基本認証を使用するユーザーをログインすることです。
今私はこの
var resp = $http({
url: "/TOKEN",
method: "POST",
data: $.param({ grant_type: 'password', username: userlogin.username, password: userlogin.password }),
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
});
のようにログインを要求し、それは私がメソッドを承認呼び出すための次の要求でそれを送った、私にトークンを返します。
しかし、私は、ユーザー名とパスワードを送信するためにワンド:基本認証のよう
HttpClient client = new HttpClient();
string authInfo = "admin" + ":" + "123456";
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authInfo);
client.BaseAddress = new Uri("http://localhost:63173/TOKEN");
とサーバー側を分離、私は、ユーザーを検証するために、ユーザー名とパスワードを取得するために戻ってそれを解読し、認証トークンを返します。
var encoding = Encoding.GetEncoding("iso-8859-1");
credentials = encoding.GetString(Convert.FromBase64String(credentials));
int separator = credentials.IndexOf(':');
string name = credentials.Substring(0, separator);
string password = credentials.Substring(separator + 1);
ただし、既存のコードを変更する場所はわかりません。私は考えることができる
サーバ側では、 'Microsoft.Owin.Security.OAuth'と' app.UseOAuthAuthorizationServer'を使用していますか? –