2017-04-21 9 views
1

Sagen wir, ich habe eine Anwendung und meine Anwendung läuft seit Jahren den Zugriff von Benutzern anfordern. Die fragliche Anwendung verlangte viel mehr Zugriff, als benötigt wurde, oder die Anwendung wurde geändert und benötigt nicht mehr einige Bereiche, die sie anfordert.Google Oauth Entfernen von Bereichen von Zugriff

Die beanstandeten Bereiche wurden entfernt, sodass neue Benutzer nicht mehr zu einem Zugriff aufgefordert werden, den wir nicht benötigen.

Allerdings haben wir jetzt eine Anzahl älterer Benutzer, deren Refresh-Token uns Zugriff gewähren, die wir nicht benötigen. Ich möchte das beheben, indem ich die nicht mehr benötigten Bereiche von der Autorisierung entferne. Die einfachste Lösung wäre wahrscheinlich, ihre Tokens einfach zu entziehen und eine erneute Autorisierung zu verlangen, aber ich denke, das wäre für die Kunden inakzeptabel.

Beispiele für Bereiche:

https://www.googleapis.com/auth/analytics Anzeigen und Verwalten Ihrer Google Analytics-Daten

Der Antrag auf vollen Zugang bittet. Die Anwendung muss nicht vollen Zugang

https://www.googleapis.com/auth/analytics.readonly Ihre Google Analytics-Daten

Ist es möglich, scopes von der Zulassung zu entfernen? Ich weiß, dass es möglich ist, request additional permissions, aber ich war nicht in der Lage, eine Möglichkeit zum Entfernen von übermäßigen Berechtigungen zu finden.

Antwort

0

Nein, das ist nicht möglich.

Bereiche sind nicht verschachtelt. Also, obwohl logisch analytics.readonly ist eine Teilmenge von analytics, das ist nicht, wie sie intern betrachtet werden. Daher gibt es kein Downgrade von analytics zu analytics.readonly, da es sich um völlig getrennte Bereiche handelt. Da Sie daher den Prozess "additional-scopes" durchlaufen müssen, um analytics.readonly zu erwerben, können Sie auch das vorhandene Token widerrufen, da dies die einzige Möglichkeit ist, die vorhandene Berechtigung analytics zu entfernen.

+0

Nicht über unten Rang nehmen beide wurden aufgefordert, ursprünglich möchte ich eine entfernen. – DaImTo

+0

Sie haben ursprünglich sowohl analytics ** als auch analytics.readonly angefordert? Seltsam, aber hey ho. In beiden Fällen ist es nicht möglich, Bits eines Tokens zu entziehen, sodass Sie das Token zurücknehmen und ein neues Token anfordern müssen. Da Sie keine neuen Bereiche anfordern, können Sie, wenn Sie "prompt = none" festlegen, den Benutzer möglicherweise nicht erneut autorisieren lassen. – pinoyyid

0

Sie können die Bereiche, die Ihr Skriptprojekt verwendet, explizit festlegen, indem Sie seine Manifestdatei bearbeiten. Das Manifestfeld oauthScopes ist ein Array aller Bereiche, die vom Projekt verwendet werden. Führen Sie die folgenden Schritte aus, um die Bereiche Ihres Projekts festzulegen:

  1. Öffnen Sie das Skriptprojekt im Apps-Skript-Editor.
  2. Wählen Sie im Menü Datei>Projekteigenschaften. Wählen Sie Scopes Registerkarte.
  3. Überprüfen Sie die Bereiche, die Ihr Skript derzeit benötigt, und bestimmen Sie, welche Änderungen vorgenommen werden müssen. Klicken Sie auf Abbrechen, wenn Sie fertig sind.
  4. Wenn die Manifest-Datei appsscript.json nicht sichtbar in der linken Navigationsleiste, wählen Sie die Ansicht> Anzeigen manifest Datei Menüpunkt.
  5. Wählen Sie das Appsscript.json Datei im linken Navigationsbereich, um es zu öffnen.
  6. Suchen Sie das oberste Feld mit der Bezeichnung oauthScopes. Wenn es nicht vorhanden ist, können Sie es hinzufügen.
  7. Das Feld oauthScopes gibt ein Array von Strings an. Um die Bereiche festzulegen, die Ihr Projekt verwendet, ersetzen Sie den Inhalt dieses Arrays durch die Bereiche, die Sie verwenden möchten. Zum Beispiel:

enter image description here

  1. Speicher, um die Manifest-Datei Strg + S oder die Datei speichert Symbol in der Menüleiste.

Mehr Infos hier: https://developers.google.com/apps-script/concepts/scopes

Verwandte Themen