Allow only requesting the oauth scopes that an app needs
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- ios, objective-c
- Área
- authentication, mobile
Línea de trabajo
Comienza con GoogleSignIn/Sources/GIDSignInInternalOptions.m y GoogleSignIn/Sources/GIDScopes.m, especialmente con el manejo de los scopes referenciados. Confirma cómo se añaden email y profile y, después, determina dónde se puede exponer un opt-out compatible con versiones anteriores. Se considera terminado cuando el comportamiento predeterminado no cambia y el opt-out solicita únicamente los scopes de la app consumidora.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem you're having? Please describe.
My app needs to write new files to Google Drive, and it needs nothing else. As such, the only scope I request is https://www.googleapis.com/auth/drive.file. However, the login screen suggests that the app will be much more invasive than it is:
It appears that additional scopes beyond what the consuming app requests are always requested:
https://github.com/google/GoogleSignIn-iOS/blob/main/GoogleSignIn/Sources/GIDSignInInternalOptions.m#L56
https://github.com/google/GoogleSignIn-iOS/blob/main/GoogleSignIn/Sources/GIDScopes.m#L58
Specifically it looks like the email and profile scopes are always added.
My assumption is that those additional scopes are unnecessary for basic usage, but please tell me if I am incorrect.
As an additional downside, requesting extraneous scopes makes implementing Google's new granular permissions more messy and complicated.
Describe the solution you'd like
In the spirit of the principle of least privilege, it should be possible to use Google SignIn without extraneous scopes added. To do this in a backwards compatible way, the current behavior should remain the default, but it should be possible to set a flag to avoid scopes being added.
This seems like a very small change.
Describe alternatives you've considered
First, it's possible that those other scopes are necessary for all Google API usage. However, the fact that granular permissions allows rejecting them, that seems false.
Second, it's possible that consumers of Google SignIn just live with requesting extra scopes. However, that makes their apps look more invasive than they need, and thus sketchy. Further, it means that developers need to unnecessarily handle the more complicated granular permission case where you request many scopes.
Additional context
I'm happy to contribute this feature if it would be accepted.
- Lenguaje dominante
- Objective-C
- Estrellas
- 751
- Forks
- 282
- Merge medio
- 7 d 10 h
- PR fusionados (30 d)
- 5
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de google/GoogleSignIn-iOS
-
enhancement triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
google/GoogleSignIn-iOS#621 ·
-
enhancement triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
google/GoogleSignIn-iOS#620 ·
-
enhancement triage
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
google/GoogleSignIn-iOS#611 ·
-
Remove Cocoapods SupportAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
google/GoogleSignIn-iOS#607 ·
-
Add App Check support for macOSAbiertoenhancement triage
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
google/GoogleSignIn-iOS#602 ·
Todos los issues de google/GoogleSignIn-iOS
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
organicmaps/organicmaps#13656 ·
Los mantenedores suelen responder en 2 días
-
0. Needs triage bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area-Infrastructure-coreclr os-ios os-maccatalyst os-tvos untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
dotnet/runtime#134766 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Allow Serialisation of PMKArrayAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
mxcl/PromiseKit#1362 · 1 comentario · 1 reacción ·
-
bug-pending-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NativeScript/NativeScript#11460 · 2 comentarios ·
Los mantenedores suelen responder en 1 día