Artículo
· 9 dic, 2021 Lectura de 3 min

Autenticación OAuth2 con cuenta GitHub desde la aplicación web IRIS


En este artículo, mostraré los conceptos básicos de la autenticación OAuth2 con la cuenta de GitHub con la ayuda de la demostración online
https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp usando SuperUser | SYS

Recomendaciones:

A continuación, necesitamos 3 pasos:

  • Paso 1: Registrar la aplicación con el servidor de autenticación de GitHub
  • Paso 2: Configurar el cliente OAuth 2.0 desde el portal de administración de InterSystems
  • Paso 3: Llamar a la API para iniciar sesión con una cuenta de GitHub

Así que... ¡empecemos!

Paso 1: Registrar la aplicación con el servidor de autenticación de GitHub

Para registrar la aplicación con el servidor de autenticación de GitHub, necesitamos una cuenta de GitHub.
Inicia sesión en la cuenta de GitHub, ve a https://github.com/settings/developers y, en la pestaña OAuth Apps (Aplicaciones OAuth), haz clic en el botón New  OAuth App (Nueva aplicación OAuth).

Escribe el nombre de la aplicación, la URL de la página de inicio, la descripción y la URL callback para la autorización.
Ten en cuenta que la URL callback para la autorización debe hacer referencia a la clase OAuth2.Response.cls ({dominio} /csp/sys/oauth2/OAuth2.Response.cls)
Haz clic en Register Application (Registrar aplicación):

Esto abrirá la página de detalles. Haz clic en Generate a new client secret (Generar un nuevo secreto de cliente) y guarda el ID de Cliente y la Clave Secreta que usaremos al configurar el cliente IRIS OAuth2.

La aplicación se registró correctamente.

Paso 2: Configurar el cliente OAuth 2.0 desde el portal de administración de InterSystems

Ve a System > Security Management > OAuth 2.0 Client  y haz clic en el botón Create Server Description (Crear descripción del servidor):

Haz clic en el botón Manual en la parte superior, introduce los detalles en el formulario y guarda la descripción del servidor:

Vuelve a  System > Security Management > OAuth 2.0 Client  y haz clic en Client Configurations (Configuraciones del cliente):

En la pestaña General, completa los detalles. Ten en cuenta que la URL de redireccionamiento del cliente es la misma que pusimos en la URL callback para la autorización al registrar nuestra aplicación en GitHub.

En la pestaña Client Credentials (Credenciales de cliente), introduce la ID de cliente y el secreto del cliente que generamos al registrar nuestra aplicación en GitHub y guarda la configuración del cliente.

Paso 3: Llamar a la API para iniciar sesión con una cuenta de GitHub

Ve a la demostración online: https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp e inicia sesión con SuperUser | SYS
Haz clic en Login with Github account (Iniciar sesión con la cuenta de Github) en el menú superior:


Esto abrirá la página Oauth.cls. Asegúrate de cerrar sesión en GitHub antes de intentar iniciar sesión. Haz clic en Github Sign in (Iniciar sesión en Github):


El sistema navegará al servidor de autenticación de GitHub usando el método GetAuthorizationCodeEndpoint de la clase% SYS.OAuth2.Authorization
https://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?&LIBRARY=%25SYS&PRIVATE=1&CLASSNAME=%25SYS.OAuth2.Authorization

Cuando hayas iniciado sesión correctamente, el sistema lo redireccionará a la página OauthRe.cls

El código está disponible en este repositorio https://github.com/mwaseem75/Data_APP_Security

Comentarios (0)1
Inicie sesión o regístrese para continuar