Simplemente no entiendo un código en el espacio de nombres Microsoft.Web.WebPages.OAuth
, específicamente la clase OAuthWebSecurity.Atascado utilizando Microsoft.Web.WebPages.OAuth.OAuthWebSecurity en una aplicación MVC
Es este método aquí: -
internal static void RequestAuthenticationCore(HttpContextBase context,
string provider, string returnUrl)
{
IAuthenticationClient client = GetOAuthClient(provider);
var securityManager = new OpenAuthSecurityManager(context,
client, OAuthDataProvider);
securityManager.RequestAuthentication(returnUrl);
}
La primera línea está bien => tomar los datos del proveedor, para esta solicitud de autenticación. Vamos a pretender que es un TwitterClient(..)
.
Ahora, necesitamos crear una clase SecurityManager
... que acepte tres argumentos. ¿Qué es ese 3er arg? ¿Un OAuthDataProvider
? Eso se define como una estructura estática, aquí:
internal static IOpenAuthDataProvider OAuthDataProvider =
new WebPagesOAuthDataProvider();
y esto crea un WebPagesOAuthDataProvider
. Este es mi problema. ¿Que es esto? ¿Y por qué tiene que estar estrechamente acoplado a un ExtendedMembershipProvider
? ¿Qué es un ExtendedMembershipProvider
? ¿Por qué es esto necesario?
En mi aplicación web estoy tratando de usar una base de datos RavenDb y mi propio principal personalizado y una identidad personalizada. Nada que ver con Membresía o SimpleMembership que viene con ASP.NET.
¿Podría alguien ayudarme por favor aquí? ¿Cuál es esa clase y por qué se usa, etc.? ¿Cuál es su propósito? ¿Es esto algo que DNOA requiere? ¿y por qué?
(También espero secretamente que Andrew Arnott vea esta Q y me ayude).
Pero su código termina llamando al código DNOA, específicamente this => https://github.com/DotNetOpenAuth/DotNetOpenAuth/blob/master/src/DotNetOpenAuth.AspNet/IOpenAuthDataProvider.cs (también estoy en JabbR en su Sala DNOA: P) –
Sí, su código llama a DNOA. Mi punto es que puedes hacer lo mismo, pero sin los lazos con la Membresía si quieres evitar eso. –