sheet - Verifique las llamadas de back-end desde la aplicación iOS
menu ios (2)
Afortunadamente, he encontrado este hilo en stackexchange donde el usuario Iwaz dejó un comentario.
Iwaz apunta al DeviceCheck Framework de Apple que se puede usar para verificar si una llamada a su API proviene de una instalación real de su aplicación de iPhone.
Según los documentos funciona de la siguiente manera:
- Obtenga el
DCDevice
actual llamandocurrentDevice
métodocurrentDevice
. - Desde ese
DCDevice
llame a su métodogenerateTokenWithCompletionHandler
para obtener un token. - Envíe ese token junto con sus otros datos al realizar solicitudes a su API.
- En el código del servidor de su API, llame a la API de Apple proporcionando el token para validarlo como se describe here .
Estoy tratando de encontrar un equivalente de esta verificación de Android, pero para iOS.
Publicada inicialmente en una publicación de blog pero ahora incorporada en la documentación principal de Android , la verificación le permite saber 3 cosas: Entonces, usted sabe que:
- El token fue emitido por Google.
- El token se envió a un dispositivo que estaba siendo operado por la persona identificada en el campo de correo electrónico de la carga útil.
- El token fue obtenido por la aplicación de Android identificada por el ID de cliente en el campo azp de la carga útil.
El punto clave es que:
Google AuthUtil observará que la aplicación de Android y el ID del cliente web están en el mismo proyecto y, sin la aprobación del usuario, devolverá un token de ID a la aplicación, firmado por Google.
Por lo tanto, puedo verificar las llamadas internas sin interrumpir al usuario.
¿Hay algo similar para iOS de Apple, donde puedo obtener un token de ID firmado por Apple cuando Apple observará que la aplicación de iOS y el ID de cliente web?
He encontrado una pregunta de SO que intenta encontrar algo similar, pero espero una solución más simple. Esa pregunta fue hace más de un año, así que espero que haya una mejor respuesta, posiblemente con los nuevos servicios web de CloudKit.
Por lo que sé, para autenticar a los usuarios, puede usar software de terceros similar a Oauth2, que también usa tokens para verificar la identificación del cliente y otorgar acceso a sus usuarios a partir de eso.