0

Mit My Meteor können Benutzer sich bei Google und per E-Mail/Passwort registrieren und anmelden.Meteor: loginWithGoogle, ohne den Berechtigungsumfang des Benutzers zu aktualisieren

Wenn ich mich mit Google anmelde, ersuche ich nur um email Erlaubnis. Nach dem Anmelden kann der Benutzer zu den Benutzereinstellungen gehen und Connect Google Calendar, die die Kalenderberechtigung zum Bereich des Benutzers hinzufügen (durch Ausführen einer anderen loginWithGoogle Anforderung dieses Kalender Erlaubnis).

Das Problem ist, jedes Mal, wenn ein Benutzer aus der Login-Seite mit Google-Konto anmeldet, wird das scope Objekt durch loginWithGoogle Funktion aktualisiert und der Kalender Umfang entfernt (weil hier die Login-Funktion für E-Mail-Erlaubnis ersucht nur).

Gibt es eine Möglichkeit, den Benutzer einzuloggen, ohne den Bereich zu aktualisieren/ersetzen? Ich kann nicht die Kalenderberechtigung von der Anmeldeseite anfordern, da ich möchte, dass die Benutzer entscheiden können, ob sie ihren Kalender mit der App synchronisieren möchten oder nicht.

Danke.

+1

AFAIK, wenn Sie nicht vorhaben, in der Erstanmeldung den Umfang auf Einstellung, müssen Sie es als [zusätzliche Bereiche] setzen (https://developers.google.com/ Identität/Anmeldung/Web/incremental-auth). Auf diese Weise verletzen Sie nicht die Privatsphäre des Benutzers (da Sie um ihre Erlaubnis bitten werden (z. B. Zugriff auf ihre Kalenderdaten). Dieser Handschlag von Berechtigungen kann von Ihrer Implementierung abhängen. Hoffe das hilft. –

Antwort

0

Wenn jemand anderes nach der Antwort sucht, war die Lösung so einfach war eine Option include_granted_scopes:true zu den Login-Optionen hinzufügen.

dh

Meteor.loginWithGoogle({ 
    requestPermission: [''email], 
    loginUrlParameters: {include_granted_scopes: true} 
}, function(err){}) 
Verwandte Themen