Asistente de inicio de sesión social (Google, Facebook & Apple)
Haga que los inicios de sesión OAuth de Google, Facebook y Apple funcionen de forma fiable en su app WebView de iOS con los asistentes de inicio de sesión integrados.
Google, Facebook y otros proveedores de OAuth restringen los inicios de sesión desde WebViews integrados (p. ej., el error «disallowed_useragent» de Google). El Social Login Helper integrado en WebViewGold hace que estos inicios de sesión funcionen de forma fiable dentro de su app de iOS, sin cambiar el flujo de inicio de sesión de su sitio web.
Cómo funciona:
Usted define prefijos de URL que aparecen durante el flujo de inicio de sesión de su app web. En cuanto se carga una de estas URL desencadenantes, WebViewGold abre el inicio de sesión en una ventana emergente de inicio de sesión dedicada con un user agent ajustado que el proveedor de OAuth acepta. Tras un inicio de sesión correcto, el flujo vuelve automáticamente a su app web. «Sign in with Apple» (appleid.apple.com) se detecta y gestiona automáticamente, sin configuración alguna.
Configuración:
Abra Config.swift y defina los prefijos de URL desencadenantes de su flujo de inicio de sesión:
var google_login_helper_triggers: [String] = ["https://accounts.google.com", "https://accounts.youtube.com"] var facebook_login_helper_triggers: [String] = ["https://m.facebook.com", "https://www.facebook.com"]
google_login_helper_triggers: prefijos de URL que se cargan durante un inicio de sesión con Google en su sitio web.facebook_login_helper_triggers: prefijos de URL que se cargan durante un inicio de sesión con Facebook en su sitio web.
Para encontrar las URL desencadenantes correctas, inicie el flujo de inicio de sesión de su sitio web en un navegador de escritorio y anote por qué URL pasa la redirección de OAuth.
Abrir una URL de autenticación en el navegador externo:
Como alternativa, puede entregar explícitamente una URL de inicio de sesión al navegador del sistema (la sesión vive entonces en el navegador, no en la app):
window.location.href = "googlelogin://" + encodeURIComponent("https://accounts.google.com/o/oauth2/v2/auth?...");
WebViewGold decodifica la URL tras el prefijo googlelogin:// y la abre externamente.
Cuándo usar el helper:
Pruebe primero las opciones más sencillas; en muchos casos ya resuelven los problemas de inicio de sesión:
- Abra el dominio de inicio de sesión en una pestaña de navegador in-app o en el navegador externo mediante la API URL Handling (p. ej.,
specialLinkHandlingOptions,safariblacklist). - Establezca un user agent personalizado (
useragent_iphone/useragent_ipad).
Si el inicio de sesión sigue fallando dentro de la app, los desencadenantes del Social Login Helper son la solución recomendada.