Red de conocimiento informático - Problemas con los teléfonos móviles - Spring Cloud Oauth2

Spring Cloud Oauth2

OAuth2 Spring Cloud Spring Security

Principio: asegúrese de leer la documentación oficial antes de usarlo. Si no comprende, busque información de terceros.

Las aplicaciones Spring Framework requieren una implementación que proteja la interfaz API. Probé OAuth1.0 y encontré más discusiones sobre OAuth2.0 y Spring Security es compatible con OAuth2, así que cambié a OAuth2.

La única dependencia principal es

Spring Security ya está incluido en Starter y no es necesario declararlo nuevamente para mantener el pom simple.

Para utilizar un servidor OAuth2, simplemente utilice la anotación @EnableAuthorizationServer.

Además, el servidor OAuth2 se basa en Spring Security, que requiere la anotación @EnableWebSecurity.

Por supuesto, esto no es suficiente. Según la documentación oficial de Spring Security, debe heredar de la clase WebSecurityConfigurerAdapter para habilitar la configuración de seguridad.

Puedes heredar sin realizar ningún cambio para utilizar la configuración predeterminada.

OAuthServerConfig.class

Después de iniciar el programa, puede ver que se han implementado las interfaces relevantes de OAuth2 y la configuración automática de Spring ha hecho mucho trabajo por nosotros, por lo que se puede desempacar Listo para usar.

Vale la pena señalar que la clase de configuración automática generará un "usuario" con el nombre de usuario usuario y un "cliente":

Intente realizar una solicitud GET usando lo anterior información:

Irá a la página /login para verificar el inicio de sesión. Complete la contraseña d457f3b2-a3d7-4ace-bfaf-44ab7bfd8ccc en el nombre de usuario y se pasa el inicio de sesión.

Regrese a la página de autorización y seleccione "Aprobar" para aceptar y autorizar, y luego la página salta a la URL de redirección que contiene la información del código.

Una vez tengas el código, podrás proceder a solicitar el token de acceso al servidor mediante el método POST.

& alcance=usuario

Como era de esperar, verá lo siguiente:

En este punto, hemos completado toda la autorización OAuth2 utilizando el tipo código_autorización.

Nuevamente, solo necesitas una dependencia:

//todo: incomplete...