Si usted está trabajando en windows y utiliza una llave ssh general omita este paso. De lo contrario y para ambientes de producción será necesario crear llaves de despliegue para cada repositorio involucrado en el aplicativo.
ssh-keygen
Típicamente se crearán tres llaves, una para cada repositorio:
Luego debemos ajustar el archivo de configuración de ssh para que utilice las llaves creadas:
nano ~/.ssh/config
El archivo debe tener una estructura similar a la siguiente:
Host TRANSITOAPP
HostName github.com
AddKeysToAgent yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/TRANSITOAPP
Host CUSTOMCLIENT
HostName github.com
AddKeysToAgent yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/CUSTOMCLIENT
Host USERMANUAL
HostName github.com
AddKeysToAgent yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/USERMANUAL
Luego de registrar cada una de las llaves de despliegue generadas en github inicie la clonación de repositorios.
Cuando se usa una configuración de llaves de depliegue se reemplaza github.com por el nombre del host definido en el archivo de configuración de ssh.
git clone git@TRANSITOAPP:SIDESO/TRANSITO-APP.git smr.transitoapp.co
cd smr.transitoapp.co
git clone git@CUSTOMCLIENT:SIDESO/TRANSITO-SMR.git CustomClient
git clone git@USERMANUAL:SIDESO/documentacion_transito.git UserManual
Para la correcta visualización de imágenes del manual de usuario y el funcionamiento de la carpeta storage deberá ejecutar:
Linux:
cd ~/smr.transitoapp.co
php artisan storage:link
cd public
ln -s ../UserManual/Master/resources manual_resources
Windows:
cd C:\Repositorios\TRANSITO-APP
php artisan storage:link
mklink /D C:\Repositorios\TRANSITO-APP\public\manual_resources C:\Repositorios\TRANSITO-APP\UserManual\Master\resources
Para lograr la autenticación Oauth de la plataforma osTicket es necesario realizar los siguientes pasos:
Se debe crear el cliente de autenticación con id de usuario nulo y la url de redirección correspondiente.
La url de redirección se toma de osTicket y tiene una estructura similar a:
https://soporte.smr.transitoapp.co/api/auth/oauth2
php artisan passport:client
El anterior comando retornará Client ID y Client Secret que se deben configurar en osTicket
Diríjase a la ruta de administración de osTicket:
https://soporte.smr.transitoapp.co/scp/login.php
Siga la ruta: Panel de Administración -> Administrar -> Plugins -> OAuth2 Client
Asegúrese de que el plugin esté habilitado y configure una instancia tipo "OAuth2 - Other" teniendo en cuenta:
Clave | Valor |
---|---|
Authentication Target | End Users Only |
Redirect Uri | (valor por defecto) https://soporte.smr.transitoapp.co/api/auth/oauth2 |
Client Id | (valor obtenido en el paso anterior) |
CLient Secret | (valor obtenido en el paso anterior) |
Authorization Endpoint | https://smr.transitoapp.co/oauth/authorize |
Token Endpoint | https://smr.transitoapp.co/oauth/token |
Resource Details Endpoint | https://smr.transitoapp.co/api/oauth/user |
Scopes: osTicket |
Clave | Valor |
---|---|
User Identifier | |
Given Name | name |
Surname | last_name |
Email Address |
Nota Eliminar una instancia de OAuth2 Client no elimina los usuarios que se hayan creado a partir de ella y estos usuarios tendrán problemas para iniciar sesión ya que quedan enlazados a una instancia huérfana. No es recomendable eliminar instancias de OAuth2 Client.