OAuth: Acceso de larga ejecución en sistemas posteriores: ¿cómo actualizar el token?

3

En el caso de OAuth2 y el usuario de OpenID Connect, AppA autorizado para acceder al servicio AppB. Ahora, AppB necesita acceder a AppC y usa el token de portador recibido de AppA (suponga que el alcance de ese token incluye tanto B como Am);

AppA -Bearer-> AppB -Bearer-> AppC

Pero, ¿qué pasaría si AppB necesitara acceder a AppC durante mucho tiempo (algunas encuestas se realizan durante un par de horas)? El token de portador se revoca en ese momento y AppB no tiene token de actualización (AppA tiene). ¿Cuáles son las opciones aquí?

    
pregunta Stanislav Bashkyrtsev 03.03.2017 - 07:40
fuente

1 respuesta

1

Bueno, el enfoque más simple es simplemente empujar el token de actualización a la Aplicación B y dejar que se actualice solo. Esto podría llevar a algunos comportamientos no deseados en la aplicación A, aunque si el token de actualización también se actualiza al actualizar (digamos que 5 veces).

Lo que podría considerar hacer es ajustar el servidor de autorización para intercambiar un token de acceso por un par de token de acceso / actualización, por lo que la aplicación A envía el token a la aplicación B, y la aplicación B toma ese token y lo intercambia con el servidor de autorización para es propio tokens. Luego maneja el token por su cuenta. Sin embargo, eso supone que puedes modificar el servidor de autenticación.

    
respondido por el Steve 03.03.2017 - 15:10
fuente

Lea otras preguntas en las etiquetas