Hace unos días estaba revisando un portal de SharePoint 2013 que había sido configurado para permitir la autentificación mediante Windows Live ID, la autentificación había sido configurada utilizando las siguientes guías:
Configure claims-based authentication using Windows Live ID (SharePoint Server 2010)
Visual guide to Windows Live ID authentication with SharePoint 2010 - part 1
Aunque las guías mencionadas son para SharePoint 2010 funcionan para SharePoint 2013 también, tan es así que el portal estuvo funcionando adecuadamente durante la etapa de desarrollo del proyecto (algunas semanas) sin embargo de un día para otro dejo de funcionar la autentificación mediante Windows Live ID y en su lugar el portal mostraba el siguiente error cuando un usuario intentaba autentificarse mediante este método.
El mensaje:
ID4037: The key needed to verify the signature could not be resolved from the following security key identifier.
Después de revisar un rato los logs de SharePoint que se generaban al presentarse el error no encontré mayor información acerca del error por lo que decidí revisar los datos de configuración del proveedor de autentificación, sin embargo todo parecía estar correctamente configurado. Por último recordé que al ser esta una instalación de “Staging” los certificados que se utilizan para la configuración son temporales por lo que procedí a revisar la vigencia de los certificados y efectivamente estaban vencidos.
Una vez descubierta la causa del error es hora de buscar la solución, la cual describo a continuación:
1.- Remover los certificados expirados. Para esto pueden utilizar la consola MMC.exe importando el addin de Certificados, identificar los certificados que ya expiraron y eliminarlos, los certificados deben encontrarse en los siguientes almacenes: Trusted Root Certification Authority, Trusted People y SharePoint.
2.- Una vez que los certificados han sido removidos se debe descargar de nuevo el certificado para posteriormente instalarse en los mismos almacenes. El certificado debe descargarse de la url https://nexus.passport-int.com/federationmetadata2/2007-06/federationmetadata.xml, se debe copiar y pegar en un archivo de texto lo que se encuentra del nodo X509Certificate, se guarda el archivo con extensión .cer.
3.- Una vez que se cuenta con el certificado actualizado se debe instalar en los mismos almacenes de los que se eliminó: Trusted Root Certification Authority, Trusted People y SharePoint.
4.- Por ultimo ejecutamos este pequeño script de PowerShell para actualizar solo el certificado del Trusted Identity Token Issuer
$certfile="C:\temp\LiveID-INT.cer" #path en donde se encuentra el nuevo certificado descargado desde https://nexus.passport-int.com/federationmetadata2/2007-06/federationmetadata.xml $tokenIssuer=Get-SPTrustedIdentityTokenIssuer -Identity "LiveID INT" #Nombre con el que se registro el Trusted Identity Token Issuer Set-SPTrustedIdentityTokenIssuer -Identity $tokenIssuer -ImportTrustCertificate $certfile
Despues de realizar estos sencillos pasos el sitio vuelve a funcionar y ya permite la autentificación mediante Windows Live ID
Happy Configuring!
0 comentarios:
Publicar un comentario