Tarea #2305
Modificación Gong
10%
Descripción
Hola,
necesitamos hacer una serie de modificaciones en Gong para dar servicio a varios requerimientos que tenemos, estos son:
Integración SSO Azure
Creación de API, para la adición de usuarios
Integración SSO Azure
Para la integración con SSO Azure, proponemos el uso de la gema omniauth, que permite el uso de innumerables SSO a nivel mundial y con un nivel de intrusión bajo en cuanto a codigo se refiere. Para poder implementar esta mejora, necesitaríamos saber que variables/objetos de sesión son necesarios para que el software funcione correctamente y a que página hay que redirigir una vez autenticado. Hemos extraido el código que estamos usando ahora:
UserInfo.current_user = @usuariosession[:usuario_identificado_id] = @usuario.id
session[:idioma_seleccionado] = params[:selector] ? params[:selector][:idioma] : "es"
session[:timeout] = nil
- redireccion = params[:ir_a] || session[:ir_a] || (params[:ir_a_usuarios] ? {:seccion => :administracion, :controller => :usuario, :action => :ordenado} : {:seccion => :inicio, :controller => :info})
redirect_to("/inicio/info")
Existe otro requerimiento en este punto con respecto la ventana de login. Ya que al hacer uso de un SSO, la autenticación normal en la plataforma no debería ser posible. No tenemos muy claro con implementar esto.
Los cambios que se han hecho para la implementación de esta tarea se pueden ver en:
controllers/application_controller.rb
controllers/omniauth/session_controller.rb
views/usuario/_login.html.erb
Creación de API
Aprovechando la infraestructura de DoorKeeper que hay definida en la plataforma se ha incorporado, un api para la creación de usuarios.
Los cambios que se han hecho para la implementación de esta tarea se pueden ver en:
controllers/api/V1
Incorporamos la primera versión del código.
Saludos.