Tengo una pregunta general sobre cómo los ámbitos en el protocolo OAuth2 son manejados. Para una argumentación fácil, comencemos con un ejemplo concreto:
Digamos que tengo un servidor OAuth A
que quiero usar para proteger dos
API de RESTful R1
y R2
. Estos dos servicios tienen ámbitos especiales que utilizan para otorgar a un usuario acceso a algunos recursos protegidos. Así que digamos que R1
necesita el alcance S1
y R2
necesita el alcance S2
para acceder a algunos recursos restringidos.
Digamos además que el servidor A de OAuth también hace uso de los ámbitos email
y profile
, son necesarios para acceder a los datos de usuario que el propio servidor OAuth administra.
Esto es lo que me cuesta entender. Por lo que puedo ver, el servidor OAuth A
normalmente solo sabe cómo manejar los ámbitos que él mismo usa (en este caso email
y profile
). Pero ¿qué pasa con los ámbitos que se requieren para acceder a la funcionalidad restringida en las dos API ( R1
necesita S1
y R2
necesita S2
)?
¿Tengo que registrar estos ámbitos manualmente con el servidor de OAuth (para que sepa que existen y puede otorgarlos si es necesario)? De nuevo, eso significaría que debo registrar todos los ámbitos de todas las API que deseo proteger / usar con el servidor OAuth.
¿Son estas suposiciones correctas? Si me sale algo mal aquí, quizás alguien pueda ayudarme explicando cómo se implementa normalmente todo el manejo del alcance. Intenté buscar en Google oauth2
y scopes
, pero no parece haber una buena explicación de cómo se manejan los ámbitos exactamente en el protocolo.