Formularze internetowe Asp.net, Asp Identity - jak przechowywać roszczenia z Facebooka, Twittera itp

To żądanie jest oparte na nowej integracji programu Visual Studio 2013 z tożsamością Asp.net. Widziałem niektóre posty dotyczące tego pytania dla MVC, ale przez całe życie nie mogę go uruchomić do standardowych formularzy internetowych. Próbuję wypełnić tabelę AspNetUserClaims z roszczeń, które otrzymuję z Facebooka (lub innej usługi). W rzeczywistości mogę zobaczyć wartości powracające w OnAuthenticated poniżej, ale nie mogę przez całe życie dowiedzieć się, jak dodać te oświadczenia do kontekstu aktualnie zalogowanego użytkownika?

Wokół są dosłownie setki przykładów MVC, ale niestety nie ma przykładów formularzy internetowych. Powinno to być całkowicie proste, ale z jakiegoś powodu nie mogę dopasować kontekstu aktualnie zalogowanego użytkownika do roszczeń i poświadczeń wracających z Facebooka.

Obecnie po pożarach OnAuthenticated zwraca oczywiście do strony (RegisterExternalLogin.aspx), jak zapewnia wbudowany przykład. Jednak roszczenia zniknęły, kontekst logowania do Facebooka zniknął, a ja nie mogę nic więcej zrobić w tym momencie.

Ostateczne pytanie brzmi: W JAKI SPOSÓB zapełnić roszczenia z Facebooka do tabeli AspNetUserClaims w oparciu o kontekst aktualnie zalogowanego użytkownika BEZ korzystania z 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);

questionAnswers(1)

yourAnswerToTheQuestion