Ich versuche, das Nutzerprofil mit Google OAuth2 API abzurufen. Nach der Benutzerauthentifizierung werde ich auf der Zustimmungsseite immer nach "Have Offline Access"
gefragtDie 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?
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.
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.
Es gibt zwei Parameter, die diese Aufforderung auslösen können:
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.
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 ...
Tags und Links oauth-2.0 google-oauth