with secure mkyong example ejemplo and spring-security spring-security-oauth2

spring security - secure - Spring oauth2 alcance vs autoridades(roles)



spring security oauth2 ejemplo (1)

Estoy usando Spring Security OAuth2 y actualmente implemento los tipos de concesión de contraseña y contraseña de cliente. Noté que un cliente tiene tanto alcance como autoridades. ¿Puede alguien explicar cuál es la diferencia? Para ser más específicos, estoy usando JDBCTokenStore y el esquema de la base de datos tiene una tabla oauth_client_details.

También,

En la tabla oauth_client_details, no estoy seguro de para qué se usan los siguientes campos:

web_server_redirect_url, access_token_validity, refresh_token_validity

Algunas aclaraciones serían muy útiles y apreciadas.


Noté que un cliente tiene tanto alcance como autoridades.

El cliente solo tiene alcance, pero podemos considerarlo / usarlo como una autoridad (roles). Esto se debe a que la especificación OAuth2 no explica el uso específico del alcance.

Considera esto, un usuario autoriza a Twitter a publicar un tweet de usuario en Facebook. En este caso, Twitter tendrá un alcance write_facebook_status . Aunque el usuario tiene autoridad para cambiar su propio perfil, esto no significa que Twitter también pueda cambiar el perfil del usuario. En otras palabras, el alcance son las autoridades / roles del cliente y no son las autoridades / roles del usuario.

web_server_redirect_url

Esto será utilizado por el servidor de autorización para redirigir la solicitud a su URL original o devolución de llamada (concesión de autorización) después de la autorización exitosa.

access_token_validity

Este es el tiempo de caducidad del token_access en segundos. Establecer en -1 o 0 para infinito. Si lo configura en 60, luego de 1 minuto su token_access no será válido. Debe solicitar un nuevo token haciendo el proceso de autorización o usar refresh_token.

refresh_token_validity

Este es el tiempo de expiración de refresh_token.