Ситуация такова:
Front: - У нас есть внешний интерфейс в AppMaker, мы получаем токен Google OAuth с этим: ScriptApp.getOAuthToken () - Мы вызываем restAPI, созданный в Java, и аутентифицируем сэтот токен
Назад: Выполнение этой работы:
JsonObject o = Json.createReader(new URL("https://www.googleapis.com/oauth2/v1/tokeninfo?access_token="+token).openStream()).readObject();
И возвращает информацию о токене.
Делая это
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(GoogleNetHttpTransport.newTrustedTransport(), JSON_FACTORY).setAudience(Collections.singletonList("...")).build();
GoogleIdToken idToken = verifier.verify(token);
Выдает следующее исключение:
java.lang.IllegalArgumentException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:37)
at com.google.api.client.json.webtoken.JsonWebSignature$Parser.parse(JsonWebSignature.java:602)
at com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.parse(GoogleIdToken.java:58)
at com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier.verify(GoogleIdTokenVerifier.java:191)
Итак, мои вопросы:
- Хороша ли эта архитектура для того, что мы пытаемся сделать?
- Что мы делаем не так с Google API?