Веб-формы Asp.net, Asp Identity - как хранить заявки из Facebook, Twitter и т. Д.
Этот запрос основан на новой интеграции Visual Studio 2013 с Asp.net Identity. Я видел некоторые посты, касающиеся этого вопроса для MVC, но я не могу заставить его работать на стандартных веб-формах. Я пытаюсь заполнить таблицу AspNetUserClaims из утверждений, которые я получаю от Facebook (или другой службы). Я действительно могу видеть значения, возвращающиеся в OnAuthenticated ниже, но не могу понять, как добавить эти утверждения в контекст текущего пользователя, вошедшего в систему?
Это буквально сотни примеров MVC, но, увы, примеров Web Forms нет. Это должно быть совершенно просто, но по какой-то причине я не могу сопоставить контекст текущего вошедшего в систему пользователя с утверждениями и учетными данными, возвращаемыми из Facebook.
В настоящее время после срабатывания OnAuthenticated он, очевидно, возвращает меня на страницу (RegisterExternalLogin.aspx), как показывает встроенный пример. Тем не менее, претензии исчезли, контекст входа в Facebook исчез, и я больше ничего не могу сделать на данный момент.
Итак, последний вопрос: КАК заполнить заявки FROM Facebook в таблицу AspNetUserClaims на основе контекста текущего пользователя, вошедшего в систему БЕЗ использования MVC?
var fboptions = new FacebookAuthenticationOptions();
fboptions.AppId = "xxxxxxxxxxxxxxxxxxx";
fboptions.AppSecret = "yyyyyyyyyyyyyyyyyyyyyy";
fboptions.Scope.Add("email");
fboptions.Scope.Add("friends_about_me");
fboptions.Scope.Add("friends_photos");
fboptions.Provider = new FacebookAuthenticationProvider()
{
OnAuthenticated = (context) =>
{
foreach (var v in context.User)
{
context.Identity.AddClaim(new System.Security.Claims.Claim(v.Key, v.Value.ToString()));
}
context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken));
return Task.FromResult(0);
},
};
app.UseFacebookAuthentication(fboptions);