Últimamente he estado leyendo mucho sobre los mecanismos de autenticación de la API web y estoy un poco confundido con respecto a cómo implementar mi mecanismo de autenticación de la API web. Estoy pensando en usar la autenticación basada en token, pero no estoy seguro de si Es la elección correcta.
Básicamente, mi API web gestionará todas las operaciones necesarias y almacenará los usuarios de mi sitio web, así como los usuarios de la API.
Quiero apoyar lo siguiente
- El usuario puede registrarse en mi sitio web y en las aplicaciones con su cuenta de G + o Facebook o con un nombre de usuario ya creado en mi servicio, y también podrá iniciar sesión con su cuenta social.
- Si el usuario no ha iniciado sesión, no podrá publicar elementos, pero sí podrá ver los elementos, piense algo como Craiglist.
- Digamos que el usuario es un desarrollador y desea publicar los elementos a través de algún software que crearon en lugar de ir a través del sitio web y publicar un elemento a la vez, ¿cómo puedo permitir esto?
Ahora, mis preguntas son:
-
Cuando un usuario se registra en mi sitio web, ¿tengo que crear una (clave pública / clave secreta) para el token de acceso posterior, de modo que pueda usar mi API del sitio web como usuario para verificar si tiene acceso? a ciertos puntos finales?
-
¿Tengo que asignar una (clave pública / clave secreta) para mi sitio web para poder consumir la API cuando el usuario no está conectado?
-
Lo mismo que arriba para las aplicaciones móviles
-
¿Cómo permito a los usuarios (registrarse / iniciar sesión) usar G + o Facebook ?, si inician sesión en una red social, ¿cómo voy a proteger mi api?