Я пытаюсь реализовать следующие функции:Войти с Универсальной App для веб-Апи с помощью Live ID
- признаки пользователя в INTO реальный счет Ид с Windows Phone 8.1 (или универсальные) приложения.
- App accesses Web Api, который я разрабатываю с помощью ASP.NET Web Api 2
- В этом веб-Api мне нужно аутентифицировать пользователя.
- Позже, я хочу, чтобы проверить подлинность того же пользователя в веб-приложение
Вот что я делаю, и он не работает.
В моей Windows Phone App:
var authClient = new LiveAuthClient("http://myservice.cloudapp.net");
LiveLoginResult result = await authClient.LoginAsync(new string[] { "wl.signin" });
if (result.Status == LiveConnectSessionStatus.Connected)
{
connected = true;
var identity = await ConnectToApi(result.Session.AuthenticationToken);
Debug.WriteLine(identity);
}
А потом
private async Task<string> ConnectToApi(string token)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://myservice.cloudapp.net/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
// HTTP GET
HttpResponseMessage response = await client.GetAsync("api/values");
if (response.IsSuccessStatusCode)
{
string result = await response.Content.ReadAsStringAsync();
return result;
}
else
return response.ReasonPhrase;
}
}
И тогда в моем веб-апи я следующий
public void ConfigureAuth(IAppBuilder app)
{
app.UseMicrosoftAccountAuthentication(
clientId: "my client id",
clientSecret: "my secret");
}
Я зарегистрировал http://myservice.cloudapp.net в качестве URL переадресации.
Проблема заключается в том, что аутентификация не работает, действия веб-api не распознают пользователя.