2010-09-08 18 views
6

Estoy desarrollando un sitio que usa OpenID para la autenticación, que funciona bien, sin embargo ... A menudo trabajo en él cuando viajo sin una conexión a Internet. Si la sesión expira y necesito iniciar sesión de nuevo, no puedo hasta que vuelva a tener conectividad.Configuración de un proveedor de OpenID para probar

Lo que me gustaría hacer es configurar un proveedor de OpenID realmente tonto en un IIS local, que pueda usar para iniciar sesión mientras estoy desconectado. Realmente estúpido, me refiero a eso: solo necesita ser una URL codificada que responda correctamente como un proveedor de acceso abierto y permita el inicio de sesión.

He echado un vistazo rápido a la muestra OpenIdProviderMvc incluida con DotNetOpenAuth, pero no se compiló de inmediato (no se pudo resolver el ensamblado ApplicationServices). Antes de profundizar más, pensé que alguien ya podría haber pasado por este proceso.

Respuesta

4

Así que lo descubrí. El proyecto de ejemplo OpenIdProviderMvc incluido en DotNetOpenAuth funciona bien.

lo principal que me quedé atrapado en es que el sitio de la parte que confía necesita haber localhost en la lista blanca de la siguiente manera:

En la sección configSections de web.config:

<section name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection" requirePermission="false" allowLocation="true"/> 

Y esto como una nueva sección de configuración :

<dotNetOpenAuth> 
    <messaging> 
    <untrustedWebRequest> 
    <whitelistHosts> 
    <add name="localhost" /> 
    </whitelistHosts> 
    </untrustedWebRequest> 
    </messaging> 
</dotNetOpenAuth> 

Si está interesado, también he derribado juntos un proveedor aún más disminuidos "localId", que Permita que inicie sesión usando un OpenID como este: http://localid/member/anythingyoulike. No hay pantallas de inicio de sesión, solo una matriz infinita de identificadores OpenID válidos. Más información here.

+0

No tiene que escribir su propio proveedor para el escenario fuera de línea. El paquete DotNetOpenAuth Tools (https://www.ohloh.net/p/dotnetopenauth/download?package=DotNetOpenAuth-Tools&release=3.4.5) incluye un .exe "Proveedor de OpenID sin conexión" que proporciona varias características que puede usar para no solo inicie sesión en su RP mientras está fuera de línea, pero pruebe algunos escenarios de su RP también. –

+0

Hola Andrew. Gracias por eso, pero acabo de descargarlo y ejecutarlo y solo se cuelga :(. ¿Hay algo especial que deba hacer para configurarlo? En realidad, estoy bastante contento con lo que tengo actualmente, ya que simplemente se sienta allí discretamente en el fondo. Todavía es bueno saber sobre el paquete de herramientas. –

Cuestiones relacionadas