Escenario
Estoy accediendo a la API REST de alguna aplicación usando OAuth. Esto es lo que sucede:
- Genero un par de clave privada / pública openssl. La parte privada se queda con mi aplicación, la parte pública va a la aplicación remota.
- Mi aplicación crea un token de solicitud y me pide que lo verifique en la aplicación remota; Hago eso (mientras estoy conectado en la aplicación remota con mi cuenta personal) y obtengo un código corto de vuelta.
- Le doy ese código corto a mi aplicación, y esta (o más bien la biblioteca OAuth que estoy usando) crea un token de acceso permanente y un secreto. Ese token de acceso está (dentro de la aplicación remota) vinculado a mi cuenta personal; es decir, con ese token de acceso solo puedo hacer lo que pueda y, si mi cuenta personal está deshabilitada, el token de acceso también será inútil.
En el futuro, mi aplicación puede acceder a la API usando ese token y secreto de acceso; Depende de mí almacenarlo de una manera sensata. Los permisos internos adicionales dentro de la aplicación remota dependen de lo que mi cuenta personal pueda o no pueda hacer.
Todo esto funciona bien y según lo previsto; Supongo que ese es el flujo de trabajo estándar de OAuth.
Mi aplicación es un pequeño script utilizado por un puñado de desarrolladores muy seleccionados. Todos tienen acceso regular en la aplicación remota.
Pregunta
¿El primer paso, la generación del PPK, se puede hacer una sola vez , en el sentido de que pertenece a mi aplicación, no a un usuario específico? Esto tendría, en mi caso específico, el beneficio de que solo necesito almacenar el par una vez, solo tengo un "enlace de aplicación" en la aplicación remota, etc. Los tokens de acceso individuales + secretos, por supuesto, se mantendrán en privado con los desarrolladores.
Esto significaría que el PPK es algo público: será difícil de controlar realmente, y también podría agregarlo (incluida la clave privada) al repositorio de origen, sabiendo perfectamente que todos los que tienen acceso al Entonces, la fuente podrá crear un acceso OAuth a la aplicación remota. Esto todavía se aseguraría de manera que solo las personas que ya tienen una cuenta personal puedan hacerlo.
¿Me estoy perdiendo algo aquí?