Immer "Offline Zugriff" | Google OAuth 2

7

Ich versuche, das Nutzerprofil mit Google OAuth2 API abzurufen. Nach der Benutzerauthentifizierung werde ich auf der Zustimmungsseite immer nach "Have Offline Access"

gefragt

Die URL im Browser sieht folgendermaßen aus: -

Ссылка ? scope = email & amp; response_type = code & amp; redirect_uri = Ссылка

Wie in der obigen URL zu sehen ist, habe ich den Umfangsparameter als ' E-Mail '

übergeben Auf der Google Auth API -Seite wird Folgendes angezeigt: -

  

"In diesem Bereich wird der Zugriff auf Ihre App angefordert:

     

Die E-Mail-Adresse des Google-Kontos des Nutzers Sie greifen auf die E-Mail-Adresse zu   durch den Aufruf people.get, der das E-Mail-Array zurückgibt (oder durch Aufruf von   people.getOpenIdConnect, die die E-Mail-Eigenschaft zurückgibt   OIDC-konformes Format). der Name der Google Apps-Domain, falls vorhanden,   zu dem der Benutzer gehört. Der Domänenname wird als Domäne zurückgegeben   property von people.get (oder hd property von getOpenIdConnect). Dies   E-Mail-Bereich entspricht und ersetzt die    Ссылка Umfang. "

Warum werde ich jedes Mal zum Offline-Zugriff aufgefordert?

    
Kumar Sambhav 20.01.2015, 18:02
quelle

5 Antworten

9

Ich hatte das gleiche Problem, und nachdem ich lange gegoogelt hatte, fand ich diesen Link:

"Diese App möchte an: Offline-Zugriff "wenn access_type = online

es schlägt vor, "localhost" in der redirect_uri zu entfernen, und es funktioniert für mich.

    
brian 29.04.2015 08:52
quelle
7

Weil Sie zurück zu http (s): // localhost: / weitergeleitet werden. Dies ist sinnvoll, da jede App, die eine Umleitung zu localhost anfordert, offensichtlich lokal ausgeführt wird.

Leite es auf eine öffentliche Webadresse um und es wird dich nicht stören.

    
Daniel Sim 18.02.2016 11:43
quelle
2

Wenn Sie das Knoten-js-Modul 'everyauth' verwenden, können Sie den Standardwert des Google-Befehls durch

überschreiben %Vor%     
sachin.ph 26.03.2015 09:35
quelle
1

Es gibt zwei Parameter, die diese Aufforderung auslösen können:

  • access_type (wenn 'offline' ist, erhalte ein Aktualisierungstoken)
  • approval_prompt (wenn es 'force' ist)

Eine Referenz hierzu finden Sie hier .

Versuchen Sie, den Parameter approval_prompt in 'auto' zu ändern oder fügen Sie ihn Ihrer Anfrage hinzu und überprüfen Sie den Parameter access_type auf 'online' oder fügen Sie ihn Ihrer Anfrage hinzu.

    
FrAn 21.01.2015 08:10
quelle
0

Sieht so aus, als hätten Sie Ihren Client als "Native Application" anstatt als "Web Application" registriert. Native Apps erhalten standardmäßig ein Aktualisierungstoken, bei dem es sich um ein langlebiges Token handelt, für das der Ressourcenbesitzer aufgrund seiner inhärenten Sicherheitsauswirkungen eine Benachrichtigung und einen Zustimmungsbildschirm erhält. Ändern Sie Ihren Client-Typ in "Web Application", vorausgesetzt, dass es das ist, was es ist ...

    
Hans Z. 20.01.2015 19:18
quelle

Tags und Links