Я пытаюсь реализовать facebook-логин с использованием токена-носителя. Я создал новый проект в VS 2013 и выбрал индивидуальную аутентификацию учетной записи пользователя, как в этом тулаториальном http://www.asp.net/web-api/overview/security/external-authentication-services.Facebook-логин с использованием внешнего токена-носителя (MVC4 Web Api)
Я настроил аутентификации facebook:
app.UseFacebookAuthentication(
appId: "123[...]",
appSecret: "123[...]");
И все отлично работает.
Мой метод испытания:
[OverrideAuthentication]
[HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
[Route("ExternalLogin2", Name = "ExternalLogin2")]
public async Task<IHttpActionResult> GetExternalLogin2()
{
ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);
return Ok();
}
Я не понимаю, как [HostAuthentication (DefaultAuthenticationTypes.ExternalBearer)] работает.
Я призываю запрос GET в стельку:
GET http://localhost:17353/api/Account/ExternalLogin2 HTTP/1.1
Authorization: Bearer [my facebook token]
Content-Length: 28
Host: localhost:17353
Но я получаю 401 результат.
Что я должен сделать для аутентификации внешним токеном?
Где вы получаете жетон facebook от? –
@Neshta Вы нашли решение здесь? – Syska
Такая же проблема здесь. У меня есть токен facebook, но я не могу получить доступ к методу WebAPI, помеченному внешним носителем. – creatiive