SSO de inicio de sesión único de Python Flask
Inicio de sesión único (SSO) de Python Flask JWT La solución de miniOrange proporciona acceso seguro de inicio de sesión único a la aplicación Python Flask utilizando un único conjunto de credenciales de inicio de sesión. Esto se hace utilizando tokens JSON Web Token (JWT) y se puede integrar fácilmente con Python Flask creado en cualquier marco o lenguaje. Puede habilitar el inicio de sesión social para que sus usuarios obtengan acceso seguro a las aplicaciones utilizando cualquiera de sus proveedores sociales existentes, como Facebook, Twitter, Google o LinkedIn.
Con miniOrange Python Flask SSO, obtienes:
- Experiencia de inicio de sesión de usuario perfecta.
- Personalizaciones infinitas para sus formularios y páginas de inicio de sesión.
- Incorporación simplificada de clientes o usuarios.
Conéctese con una fuente externa de usuarios
miniOrange proporciona autenticación de usuario de diversas fuentes externas, que pueden ser Directorio (como ADFS, Microsoft Active Directory, OpenLDAP, AWS, etc.), Proveedores de identidad (como Microsoft Entra ID, Okta, AWS) y muchos más. Puede configurar su directorio/almacén de usuarios existente o Agregar usuarios en miniOrange.
Siga la guía paso a paso que se proporciona a continuación para el inicio de sesión único (SSO) de Python Flask:
1. Configurar Python Flask en miniOrange:
- Inicie sesión en la Consola de administración miniOrange.

- Vaya al Aplicaciones y haga clic en Agregar aplicación .

- In Seleccione Aplicación, selecciona JWT desde el menú desplegable de tipo de aplicación.

- En el siguiente paso, busque Matraz de Python aplicación de la lista. Si no se encuentra su aplicación, busque Aplicación JWT y podrá configurar su aplicación.

-
Puede configurar los siguientes detalles en la aplicación:
| Nombre que se ve en la pagina |
Escriba el Nombre que se ve en la pagina (es decir, el nombre de esta aplicación) |
| URL a redirigir |
Escriba el URL a redirigir (es decir, el punto final donde desea enviar/publicar su token JWT). Puede agregar varias URL de redireccionamiento separándolas con un ';'. Por ejemplo, abc.com;xyz.com
|
| ID de cliente |
El ID de cliente Se muestra en el campo de abajo. Haga clic en el icono del portapapeles para copiarlo. |
| Secreto del cliente |
Secreto del cliente Está oculto por defecto. Haga clic en el icono del ojo para revelarlo y use el icono del portapapeles para copiarlo. Esto se utiliza en el algoritmo de firma HS256 para generar la firma.
|
| Descripción (opcional) |
Añade una descripción si es necesario.
|

- Haga clic en Guardar.
- Usted será redirigido a la Políticas .

- Haga clic en el elemento Asignar grupo botón. Un nuevo Configurar la asignación de grupos Se abrirá una ventana modal.
- Asignar grupo: Seleccione los grupos que desea vincular con la aplicación. Puede seleccionar hasta 20 grupos a la vez.

- Si necesitas crear un nuevo grupo, haz clic en Agregar nuevo grupo .
- Introduzca el nombre del grupo y haga clic en Crear grupo.

- Haga clic en Siguiente.
- Asignar políticas: Agregue las políticas requeridas a los grupos seleccionados. Ingrese los siguientes detalles:
- Primer factor: Seleccione el método de inicio de sesión en el menú desplegable.
- Si selecciona Contraseña Como método de inicio de sesión, puede habilitar Autenticación de dos factores (MFA) y Autenticación adaptable, si es necesario.
- Si selecciona Sin contraseña Como método de inicio de sesión, puede habilitar Autenticación de dos factores (MFA) si es necesario.
- Si selecciona Enlace Mágico Como método de inicio de sesión, aparecen las siguientes opciones:
- Habilitar el inicio de sesión desde otras direcciones IP: Cuando está habilitada, los usuarios pueden abrir el Enlace Mágico desde una dirección IP diferente a aquella desde la que se solicitó.
- Habilitar el inicio de sesión desde otros dispositivos: Cuando está habilitada, los usuarios pueden abrir el Enlace Mágico en un dispositivo diferente al que utilizaron para solicitarlo.

- Haga clic en GuardarSe crearán políticas para todos los grupos seleccionados.
- Verá la política listada una vez que se haya agregado correctamente.

- Haga clic en Avanzado .
- Introduzca los siguientes detalles según sea necesario:
| El acceso de emergencia |
Ingrese el token de acceso que se enviará a su URL de redireccionamiento después de que un usuario inicie sesión. Este token ayuda a su aplicación a saber que el usuario tiene permiso para acceder a ciertas funciones. |
| Vencimiento del token de identificación (en minutos) |
Establezca la duración (en minutos) de la validez del token de identificación. Transcurrido este tiempo, el usuario deberá volver a iniciar sesión para obtener un nuevo token. |
| Asunto |
Elige qué información, como la dirección de correo electrónico del usuario, se usará para identificarlo en el token. Esto ayuda a tu aplicación a saber qué usuario ha iniciado sesión. |
| Algoritmo de firma |
Seleccione su algoritmo de firma en el menú desplegable. |
| La URL de cierre de sesión de su aplicación |
Introduzca la dirección web a la que deben dirigirse los usuarios después de cerrar la sesión. |
| Habilitar identidad compartida |
Esta función le permite controlar si un usuario compartido puede acceder o no a una aplicación específica. |

- Algoritmos de firma para JWT
RSA-SHA256
- Asimétrico, utiliza un conjunto de claves públicas y privadas para generar y validar la firma que se incluye en el token JWT.
- La clave privada se utiliza para generar la firma en el lado del IDP.
- La clave pública se utiliza para verificar la firma en el lado del SP.
- Proporcionamos la clave pública para esto.
HS256
- Simétrico, utiliza la misma clave secreta para generar y validar la firma.
- La clave secreta en este caso se puede configurar desde la página de configuración de la aplicación.
-
Cambiar a Opciones de inicio de sesión .
| Proveedor de identidad principal |
Seleccione la fuente de ID predeterminada en el menú desplegable de la aplicación. Si no se selecciona, los usuarios verán la pantalla de inicio de sesión predeterminada y podrán elegir su propio proveedor de identidad (IDP). [En este caso, seleccione miniOrange].
|
| Forzar autenticación |
Si habilita esta opción, los usuarios tendrán que iniciar sesión cada vez, incluso si su sesión ya existe. |
| Habilitar mapeo de usuarios |
Habilite esta opción si desea que la aplicación muestre qué usuario ha iniciado sesión cuando responde. |
| Mostrar en el panel del usuario final |
Habilite esta opción si desea mostrar esta aplicación en el panel del usuario final. |

- Navegue a Endpoints y copia los siguientes detalles:

-
URL de inicio de sesión único:
- Esta URL se utiliza para iniciar la autenticación del usuario para obtener el token JWT.
- Tome redirección_uri como uno de los parámetros de consulta.
- Después de una autenticación exitosa en el lado del IDP, se crea una sesión de usuario activa en el IDP y el usuario es redirigido a redirigir_uri con el token JWT.
-
-
URL de cierre de sesión única:
- Esta URL se utiliza para cerrar la sesión del usuario en el IDP eliminando la sesión del usuario activo.
- Tome redirección_uri como uno de los parámetros de consulta.
- Después de eliminar la sesión del usuario activo, el IDP redirige al usuario a la redirección_uri.
-
URL de respuesta para el cierre de sesión iniciado por el IdP:
- Esta URL se utiliza para iniciar el cierre de sesión en caso de que el inicio de sesión del usuario JWT haya sido iniciado por IDP [El usuario inició sesión en el panel
primero y luego inició el inicio de sesión para la aplicación desde el panel.]
- Después de cerrar la sesión del usuario en el IDP, se redirige al usuario a la página de inicio de sesión del panel de IDP.
2. Agregar secuencia de comandos al final de Python Flask
- Para habilitar SSO en el extremo de Python Flask, todo lo que necesita hacer es agregar un URL de inicio de sesión único y Guión personalizado para recuperar los atributos requeridos del token JWT.
- Por favor, haz clic aquí. para contactarnos para el script que se agregará.
3. Pruebe la configuración de SSO
Pruebe el inicio de sesión SSO en su cuenta de Python Flask con miniOrange IdP:
Referencias externas