Erzwingen, dass ein Nutzer ein Konto über Google OAuth2 @ auswäh

Ich habe den folgenden Workflow in meiner Anwendung:

user meldet sich bei meiner benutzerdefinierten App anuser klickt auf eine Schaltfläche, um das YouTube-Konto zu verknüpfen.application führt eine serverseitige Anforderung mit dem folgenden Code durchuser wird an die Google Auth-URL weitergeleitet

n diesem Punkt geschieht eines von zwei Dinge

[ICHnoch ni will dieses Verhalten] - Wenn der Benutzer in genau einem Google-Konto angemeldet ist (z. B. Google Mail, Google Apps für Domains usw.), wird der Benutzer nie aufgefordert, das zu verlinkende Konto auszuwählen. Es wird nur davon ausgegangen, dass sie denjenigen verwenden möchten, bei dem sie angemeldet sind, und es geht auf die lustige Art und Weise.

[ICHimme will dieses Verhalten] - Wenn der Nutzer entweder nicht bei einem Google-Konto angemeldet ist oder bei mehr als einem Google-Konto angemeldet ist, werden Sie aufgefordert, das Konto auszuwählen, mit dem er fortfahren möchte.

Frage Kann ich den Nutzer zur Auswahl eines Kontos zwingen, auch wenn der Nutzer gerade in einem einzelnen Google-Konto angemeldet ist?

Code

private def getFlow() = {
  if (flow == null) {
    logger.info("Using OAuth client secrets file: " + GoogleOAuthService.CLIENT_SECRETS_JSON)
    clientSecrets = GoogleClientSecrets.load(JacksonFactory.getDefaultInstance(),
      new InputStreamReader(getClass.getResourceAsStream(GoogleOAuthService.CLIENT_SECRETS_JSON)));
    redirectUri = clientSecrets.getDetails().getRedirectUris().get(0)
    flow = new GoogleAuthorizationCodeFlow.Builder(
      httpTransport, JacksonFactory.getDefaultInstance(), clientSecrets, SCOPES).setDataStoreFactory(
      dataStoreFactory).setAccessType("offline").setApprovalPrompt("force").build()
  }
  flow
}

def newAuthorizationUrl(userId: String) = {
  val urlRequest = getFlow().newAuthorizationUrl()

  urlRequest.setAccessType("offline")
   .setRedirectUri(redirectUri).setState(userId).build()
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage