autenticación de la API sin el servidor Oauth2

2

Tengo una API que necesita autenticación de usuario. Es la misma forma en que Google se autentica cuando utiliza su API para acceder a los datos de usuario. Realmente no quiero configurar un servidor oauth2 y quiero que el usuario inicie sesión a través de los proveedores de OpenId (Google, Facebook, ...).

¿Alguien sabe si esto es posible y seguro?

  1. aplicación de cliente de acceso de usuario que utiliza mi api
  2. El cliente solicita al usuario que inicie sesión
  3. El usuario se redirige a la página de inicio de sesión del servidor api
  4. El usuario se redirige al proveedor de OpenId (eligen) y se autentica
  5. El proveedor de OpenId envía al servidor api un token (TokenA)
  6. El servidor API envía un nuevo token (TokenB) al cliente que está vinculado con el token (TokenA) y el proveedor (facebook, google, ...) en la base de datos
  7. Cuando el cliente solicita datos de usuario, deben enviar el nuevo token (TokenB) al servidor para su verificación

Si alguien tiene una mejor manera de hacerlo, me encantaría escucharlo.

Gracias

    
pregunta rand0mb1ts 20.06.2013 - 04:46
fuente

1 respuesta

2

Solo para asegurarnos de que estemos en el mismo nivel: 'oAuth' no es 'OpenID' . 'OpenID' se trata de autenticación (demostrar quién eres), mientras que 'OAuth' se trata de autorización (para conceder acceso a las cosas sin tener que lidiar con la autenticación original). Es 'OAuth' que se puede usar en sitios de socios externos para permitir el acceso a datos protegidos sin que tengan que volver a autenticar a un usuario.

Para responder a su pregunta: me pregunto si desea pasar por la molestia de descubrir alternativas cuando existen muchas bibliotecas simples que le permiten implementar oauth de manera limpia y (más importante) ) forma oficial. En lugar de pensar que realmente tiene que 'configurar su propio servidor oauth2' , le recomendamos que eche un vistazo a enlace ya que no hay razón para hacer eso para manejar una autorización para la autorización como parte de la autenticación de usuario de su API ... solo use su dominio como su proveedor de OpenID.

    
respondido por el e-sushi 29.07.2013 - 03:20
fuente

Lea otras preguntas en las etiquetas