Acceso al lado del servidor con configuración de plataforma única de plataforma cruzada no clara
Tengo problemas para entender la documentación de inicio de sesión de Google+ para Android
Me gustaría apoyar "iniciar sesión con Google" con acceso al lado del servidor para su aplicación y también me gustaría apoyar el inicio de sesión único multiplataforma . Sin embargo, no está claro si realmente puedo hacer ambos ya que uno está usando GoogleApiClient.connect()
y el otro, el GoogleAuthUtil.getToken()
.
- Servicios de Google Play en un proyecto de Android Studio 0.1.1 gradle?
- "Service MeasurementBrokerService está en uso" está mostrando en mi proceso de solicitud
- Android: PublisherInterstitialAd y DoubleClick for Publishers de Google Play Services
- IllegalStateException en el servicio de juegos de Google Play no tiene sentido
- Error de los servicios de reproducción de Google con la generación del cliente OAuth2.0
Si intento usar ambos, GoogleAuthUtil.getToken()
para obtener un token sin conexión y GoogleApiClient.connect()
para el inicio de sesión único de la plataforma cruzada, el usuario aparece dos veces con una pantalla de permisos. (También tengo que fijar dos veces la identificación del cliente del servidor y el alcance que las costuras mudo)
¿Alguna idea? ¿Estoy haciendo algo mal?
- Proyecto de API carece de ID de proyecto en Google Developers Console
- No puede setInterval en onLocationChanged
- ClassNotFoundException para SignInConfiguration al iniciar sesión con Google
- Java - Servicios de juegos de Google Play
- ¿Realmente necesita comprobar si los servicios de Google Play utilizan AdMob?
- Android SupportMapFragment Exception Error
- Después de la actualización de Google Play Service a la versión 13, recibí un error
- SecurityException: Invocación de Binder a una interfaz incorrecta en APK firmado
La buena noticia es que lo que le gustaría hacer es compatible!
La razón por la que está viendo la solicitud de permisos dos veces es que está resolviendo problemas del lado del cliente (problemas de GoogleApiClient.connect()
) antes de resolver los problemas del lado del servidor (problemas de GoogleAuthUtil.getToken()
).
GoogleApiClient.connect()
sólo solicitará permisos si el usuario aún no ha concedido permisos a su aplicación. GoogleAuthUtil.getToken("oauth2:server:client_id:<server client-id>:api_scope:<scope1> <scope2>")
solicitará permisos cada vez porque está solicitando acceso sin conexión (un token de actualización) para su servidor.
Para asegurarse de que solo vea la pantalla de permisos una vez, primero debe comprobar si su servidor necesita un token de acceso y, si no, solicitar uno con GoogleAuthUtil.getToken()
(que mostrará una pantalla de permisos al usuario). Una vez que haya asegurado que su servidor tiene un token de actualización válido, puede llamar a GoogleApiClient.connect()
que no mostrará una pantalla de permisos.
Ian Barber escribió una entrada en el blog explicando la manera de lograr este flujo:
http://www.riskcompletefailure.com/2013/10/google-android-client-server-sign-in.html
El post habla en términos de PlusClient
que ahora está en desuso a favor de GoogleApiClient
, pero el flujo sigue siendo válido.
- Recuperar ChildItem de ExpandableListView?
- Teclado personalizado es ocultar el cuadro Editar en Android